1. Install 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.

There are several ways to install CubicWeb depending on your needs:

If you are a power-user and need the very latest features, you can choose the following methods:

Additional configuration can be found in the section Configure a CubicWeb environment for better control and advanced features of CubicWeb.

1.1. Installing Dependencies#

No matter your installation method, you will need to install the following Debian packages:

apt install gettext graphviz

gettext is used for translations (see Internationalization), and graphviz to display relation schemas within the website.

1.2. Installing CubicWeb#

1.2.1. Docker install#

Detailed instructions on how to deploy CubicWeb using docker can be found on the docker hub.

Images are built using the source code available in the docker-cubicweb repository.

1.2.2. Virtualenv install#

CubicWeb can be safely installed, used and contained inside a virtualenv. To create and activate a virtualenv, use the following commands:

pip install --user virtualenv
virtualenv venv
source venv/bin/activate

Then you can use either pip or easy_install to install CubicWeb inside an activated virtual environment.

1.2.3. 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 modules which 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 install gcc python3-pip python3-dev python3-lxml

or, if you prefer to get as much as possible from pip:

apt 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:

Make sure to choose the correct architecture and version of Python.

Finally, install CubicWeb and its dependencies by running:

pip install cubicweb

1.2.4. Install from source#

You can download the archive containing the sources from CubicWeb forge downloads section.

Make sure you also have all the dependencies installed.

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.

1.2.5. Install from version control system#

To keep-up with on-going development, clone the Mercurial repository:

hg clone -u 'last(tag())' https://forge.extranet.logilab.fr/cubicweb/cubicweb # stable version
hg clone https://forge.extranet.logilab.fr/cubicweb/cubicweb # development branch

Make sure you also have all the Installation dependencies.

1.3. Installing cubes#

Many other cubes are available. Those cubes can help expanding the functionalities offered by CubicWeb. A list is available at PyPI or at the CubicWeb.org forge.

For example the blog cube can be installed using:

pip install cubicweb-blog