1. Installation of a CubicWeb environment¶
Official releases are available from the CubicWeb.org forge and from PyPI. Since CubicWeb is developed using Agile software development techniques, releases happen frequently. In a version numbered X.Y.Z, X changes after a few years when the API breaks, Y changes after a few weeks when features are added and Z changes after a few days when bugs are fixed.
Depending on your needs, you will chose a different way to install CubicWeb on your system:
- `Installation using docker`_
- Installation on Debian/Ubuntu
- Installation in a virtualenv
- Installation with pip
- Installation from tarball
If you are a power-user and need the very latest features, you will
Once the software is installed, move on to Set-up of a CubicWeb environment for better control and advanced features of CubicWeb.
1.1. Docker install¶
Detailed instructions on how to deploy CubicWeb using docker can be found on the docker hub.
The images there are built using the following source code : docker-cubicweb, see it’s README
1.2. Debian/Ubuntu install¶
CubicWeb is packaged for Debian/Ubuntu (and derived distributions). Their integrated package-management system make installation and upgrade much easier for users since dependencies (like databases) are automatically installed.
Depending on the distribution you are using, add the appropriate line to your
list of sources (for example by editing /etc/apt/sources.list
), replacing
<release>
with e.g. buster
or bionic
:
deb http://apt.logilab.fr <release> main # all cubicweb & cubes
deb http://apt.logilab.fr <release> cubicweb-3.26 # latest cubicweb 3.26 & cubes
The repositories are signed with Logilab’s gnupg key. You can download and register the key to avoid warnings:
wget -O/etc/apt/trusted.gpg.d/logilab.gpg https://www.logilab.fr/logilab-debian-keyring.gpg
Update your list of packages and perform the installation:
apt-get update
apt-get install python3-cubicweb --install-recommends
python3-cubicweb
installs the framework itself, allowing you to create new
instances. Installing recommended packages will install the development
environment allowing you to develop new cubes.
There is also a wide variety of cubes. You can access a
list of available cubes using apt-cache search cubicweb
or at the
CubicWeb.org forge.
Note
python3-cubicweb will install basic sqlite support. You can easily setup cubicweb with other database using the following virtual packages :
- python3-cubicweb-postgresql-support contains the necessary dependencies for using cubicweb with postgresql datatabase
Note
You may also require extra Debian packages such as:
gettext, graphviz
1.3. Virtualenv install¶
CubicWeb can be safely installed, used and contained inside a virtualenv. You can use either pip or easy_install to install CubicWeb inside an activated virtual environment.
1.4. pip install¶
pip is a python tool that helps downloading, building, installing, and managing Python packages and their dependencies. It is fully compatible with virtualenv and installs the packages from sources published on the `The Python Package Index`_.
A working compilation chain is needed to build the modules that include C extensions. If you really do not want to compile anything, installing lxml, and libgecode will help.
For Debian, these minimal dependencies can be obtained by doing:
apt-get install gcc python3-pip python3-dev python3-lxml
or, if you prefer to get as much as possible from pip:
apt-get install gcc python3-pip python3-dev libxslt1-dev libxml2-dev
For Windows, you can install pre-built packages (possible source). For a minimal setup, install:
- pip http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip
- setuptools http://www.lfd.uci.edu/~gohlke/pythonlibs/#setuptools
- libxml-python http://www.lfd.uci.edu/~gohlke/pythonlibs/#libxml-python>
- lxml http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml and
Make sure to choose the correct architecture and version of Python.
Finally, install CubicWeb and its dependencies, by running:
pip install cubicweb[pyramid]
Many other cubes are available. A list is available at PyPI or at the CubicWeb.org forge.
For example, installing the blog cube is achieved by:
pip install cubicweb-blog
1.5. Install from source¶
You can download the archive containing the sources from http://download.logilab.org/pub/cubicweb/.
Make sure you also have all the Installation dependencies.
Once uncompressed, you can install the framework from inside the uncompressed folder with:
python3 setup.py install
Or you can run CubicWeb directly from the source directory by setting the resource mode to user. This will ease the development with the framework.
There is also a wide variety of cubes. You can access a list of availble cubes at the CubicWeb.org Forge.
1.6. Install from version control system¶
To keep-up with on-going development, clone the Mercurial repository:
hg clone -u 'last(tag())' http://hg.logilab.org/cubicweb # stable version
hg clone http://hg.logilab.org/cubicweb # development branch
Make sure you also have all the Installation dependencies.