doc/book/admin/setup.rst
author Denis Laxalde <denis.laxalde@logilab.fr>
Thu, 21 Mar 2019 14:33:54 +0100
changeset 12530 9d88e1177c35
parent 12362 aa3581fc685c
child 12658 fdd7165fe1f3
permissions -rw-r--r--
Remove Twisted web server Twisted web server is not used anymore and has been superseded by pyramid many years ago. Furthermore, our usage is not compatible with Python 3. So we drop the "etwist" sub-package. As a consequence, "all-in-one" configuration type gets dropped as it was Twisted-specific. We resurrect it in cubicweb/pyramid/config.py by only keeping options used by the "pyramid". Similarly, we introduce a AllInOneCreateHandler in cubicweb/pyramid/pyramidctl.py that is basically the one that lived in cubicweb/etwist/twctl.py and is used to create the "all-in-one" instance. Added a TODO here about "pyramid.ini" that could be generated at the end of bootstrap() method. In cubicweb/devtools/httptest.py, CubicWebServerTC is now equivalent to CubicWebWsgiTC and the latter is dropped.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
93
9c919a47e140 [doc] total file reorganisation - phase 1 complete
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     1
.. -*- coding: utf-8 -*-
9c919a47e140 [doc] total file reorganisation - phase 1 complete
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     2
1224
a9da8a8f0b19 [doc] Change id to english.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 221
diff changeset
     3
.. _SetUpEnv:
93
9c919a47e140 [doc] total file reorganisation - phase 1 complete
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
     4
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
     5
Installation of a *CubicWeb* environment
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
     6
========================================
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
     7
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
     8
Official releases are available from the `CubicWeb.org forge`_ and from
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
     9
`PyPI`_. Since CubicWeb is developed using `Agile software development
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    10
<http://en.wikipedia.org/wiki/Agile_software_development>`_ techniques, releases
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    11
happen frequently. In a version numbered X.Y.Z, X changes after a few years when
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    12
the API breaks, Y changes after a few weeks when features are added and Z
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    13
changes after a few days when bugs are fixed.
93
9c919a47e140 [doc] total file reorganisation - phase 1 complete
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents:
diff changeset
    14
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    15
Depending on your needs, you will chose a different way to install CubicWeb on
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    16
your system:
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    17
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    18
- `Installation on Debian/Ubuntu`_
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    19
- `Installation on Windows`_
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    20
- `Installation in a virtualenv`_
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    21
- `Installation with pip`_
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    22
- `Installation with easy_install`_
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    23
- `Installation from tarball`_
6718
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
    24
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    25
If you are a power-user and need the very latest features, you will
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    26
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    27
- `Install from version control`_
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    28
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    29
Once the software is installed, move on to :ref:`ConfigEnv` for better control
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    30
and advanced features of |cubicweb|.
6718
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
    31
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    32
.. _`Installation on Debian/Ubuntu`: DebianInstallation_
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    33
.. _`Installation on Windows`: WindowsInstallation_
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    34
.. _`Installation in a virtualenv`: VirtualenvInstallation_
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    35
.. _`Installation with pip`: PipInstallation_
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    36
.. _`Installation with easy_install`: EasyInstallInstallation_
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    37
.. _`Installation from tarball`: TarballInstallation_
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    38
.. _`Install from version control`: MercurialInstallation_
6718
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
    39
5135
f15286235aef [doc] enhanced setup section: fix sections'level, more postgres tips, merge environment doc with cwconfig.py module docstring using custom autodocstring directive
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4747
diff changeset
    40
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    41
.. _DebianInstallation:
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    42
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    43
Debian/Ubuntu install
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    44
---------------------
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    45
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    46
|cubicweb| is packaged for Debian/Ubuntu (and derived
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    47
distributions). Their integrated package-management system make
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    48
installation and upgrade much easier for users since
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    49
dependencies (like databases) are automatically installed.
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    50
5135
f15286235aef [doc] enhanced setup section: fix sections'level, more postgres tips, merge environment doc with cwconfig.py module docstring using custom autodocstring directive
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4747
diff changeset
    51
Depending on the distribution you are using, add the appropriate line to your
10543
94af55569598 [doc] generalize info about debian/ubuntu repositories
Julien Cristau <julien.cristau@logilab.fr>
parents: 10542
diff changeset
    52
`list of sources` (for example by editing ``/etc/apt/sources.list``), replacing
94af55569598 [doc] generalize info about debian/ubuntu repositories
Julien Cristau <julien.cristau@logilab.fr>
parents: 10542
diff changeset
    53
``<release>`` with e.g. ``wheezy`` or ``trusty``::
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    54
10543
94af55569598 [doc] generalize info about debian/ubuntu repositories
Julien Cristau <julien.cristau@logilab.fr>
parents: 10542
diff changeset
    55
  deb http://download.logilab.org/production/ <release>/
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    56
10543
94af55569598 [doc] generalize info about debian/ubuntu repositories
Julien Cristau <julien.cristau@logilab.fr>
parents: 10542
diff changeset
    57
The repositories are signed with `Logilab's gnupg key`_. You can download
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    58
and register the key to avoid warnings::
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    59
10542
53a2b00b6758 [doc] fix link to setup info in README
Julien Cristau <julien.cristau@logilab.fr>
parents: 10523
diff changeset
    60
  wget -O/etc/apt/trusted.gpg.d/logilab.gpg https://www.logilab.fr/logilab-debian-keyring.gpg
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    61
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    62
Update your list of packages and perform the installation::
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    63
2172
cf8f9180e63e delete-trailing-whitespace
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 1714
diff changeset
    64
  apt-get update
6719
3d2b6e6af721 [doc] minor fixes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 6718
diff changeset
    65
  apt-get install cubicweb cubicweb-dev
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    66
12362
aa3581fc685c [doc] how to install pyramid or twisted application server
Laurent Peuch <cortex@worlddomination.be>
parents: 10543
diff changeset
    67
  # if you want pyramid, the recommended application server
aa3581fc685c [doc] how to install pyramid or twisted application server
Laurent Peuch <cortex@worlddomination.be>
parents: 10543
diff changeset
    68
  apt-get install pyramid-cubicweb
aa3581fc685c [doc] how to install pyramid or twisted application server
Laurent Peuch <cortex@worlddomination.be>
parents: 10543
diff changeset
    69
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    70
``cubicweb`` installs the framework itself, allowing you to create new
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    71
instances. ``cubicweb-dev`` installs the development environment
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    72
allowing you to develop new cubes.
5135
f15286235aef [doc] enhanced setup section: fix sections'level, more postgres tips, merge environment doc with cwconfig.py module docstring using custom autodocstring directive
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4747
diff changeset
    73
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    74
There is also a wide variety of :ref:`cubes <AvailableCubes>`. You can access a
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    75
list of available cubes using ``apt-cache search cubicweb`` or at the
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    76
`CubicWeb.org forge`_.
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    77
6716
494d4465f032 [doc/book] Add a note about <database>-support virtual package.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6310
diff changeset
    78
.. note::
494d4465f032 [doc/book] Add a note about <database>-support virtual package.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6310
diff changeset
    79
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    80
  `cubicweb-dev` will install basic sqlite support. You can easily setup
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    81
  :ref:`cubicweb with other database <DatabaseInstallation>` using the following
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
    82
  virtual packages :
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    83
7633
ab1385ee7caa [book, admin] include some fixes done by auc in an email to me
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7230
diff changeset
    84
  * `cubicweb-postgresql-support` contains the necessary dependencies for
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    85
    using :ref:`cubicweb with postgresql datatabase <PostgresqlConfiguration>`
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
    86
7633
ab1385ee7caa [book, admin] include some fixes done by auc in an email to me
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 7230
diff changeset
    87
  * `cubicweb-mysql-support` contains the necessary dependencies for using
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    88
    :ref:`cubicweb with mysql database <MySqlConfiguration>`.
2239
0f12f1ebf27c add note about logilab key file / apt-get
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 2175
diff changeset
    89
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    90
.. _`list of sources`: http://wiki.debian.org/SourcesList
10542
53a2b00b6758 [doc] fix link to setup info in README
Julien Cristau <julien.cristau@logilab.fr>
parents: 10523
diff changeset
    91
.. _`Logilab's gnupg key`: https://www.logilab.fr/logilab-debian-keyring.gpg
5135
f15286235aef [doc] enhanced setup section: fix sections'level, more postgres tips, merge environment doc with cwconfig.py module docstring using custom autodocstring directive
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4747
diff changeset
    92
.. _`CubicWeb.org Forge`: http://www.cubicweb.org/project/
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    93
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    94
.. _WindowsInstallation:
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    95
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    96
Windows Install
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    97
---------------
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    98
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
    99
You need to have `python`_ version >= 2.5 and < 3 installed.
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   100
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   101
If you want an automated install, your best option is probably the
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   102
:ref:`EasyInstallInstallation`. EasyInstall is a tool that helps users to
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   103
install python packages along with their dependencies, searching for suitable
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   104
pre-compiled binaries on the `The Python Package Index`_.
5135
f15286235aef [doc] enhanced setup section: fix sections'level, more postgres tips, merge environment doc with cwconfig.py module docstring using custom autodocstring directive
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4747
diff changeset
   105
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   106
If you want better control over the process as well as a suitable development
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   107
environment or if you are having problems with `easy_install`, read on to
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   108
:ref:`SetUpWindowsEnv`.
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   109
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   110
.. _python:  http://www.python.org/
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   111
.. _`The Python Package Index`: http://pypi.python.org
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   112
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   113
.. _VirtualenvInstallation:
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   114
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   115
`Virtualenv` install
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   116
--------------------
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   117
9257
ce338133c92c remove cw 3.9 bw compat (bw compat other than the interface -> adapter changes)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 8597
diff changeset
   118
|cubicweb| can be safely installed, used and contained inside a
ce338133c92c remove cw 3.9 bw compat (bw compat other than the interface -> adapter changes)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 8597
diff changeset
   119
`virtualenv`_. You can use either :ref:`pip <PipInstallation>` or
ce338133c92c remove cw 3.9 bw compat (bw compat other than the interface -> adapter changes)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 8597
diff changeset
   120
:ref:`easy_install <EasyInstallInstallation>` to install |cubicweb|
ce338133c92c remove cw 3.9 bw compat (bw compat other than the interface -> adapter changes)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 8597
diff changeset
   121
inside an activated virtual environment.
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
   122
6192
80388edf4e88 [doc] improve doc thanks to user feedback
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 5314
diff changeset
   123
.. _PipInstallation:
80388edf4e88 [doc] improve doc thanks to user feedback
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 5314
diff changeset
   124
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   125
`pip` install
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   126
-------------
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   127
9268
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   128
`pip <http://pip.openplans.org/>`_ is a python tool that helps downloading,
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   129
building, installing, and managing Python packages and their dependencies. It
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   130
is fully compatible with `virtualenv`_ and installs the packages from sources
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   131
published on the `The Python Package Index`_.
6192
80388edf4e88 [doc] improve doc thanks to user feedback
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 5314
diff changeset
   132
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   133
.. _`virtualenv`: http://virtualenv.openplans.org/
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   134
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   135
A working compilation chain is needed to build the modules that include C
10022
927a795bb380 [book] several fixes in the rst files
David Douard <david.douard@logilab.fr>
parents: 9440
diff changeset
   136
extensions. If you really do not want to compile anything, installing `lxml <http://lxml.de/>`_,
12530
9d88e1177c35 Remove Twisted web server
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12362
diff changeset
   137
and `libgecode <http://www.gecode.org/>`_ will help.
6718
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   138
9268
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   139
For Debian, these minimal dependencies can be obtained by doing::
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   140
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   141
  apt-get install gcc python-pip python-dev python-lxml
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   142
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   143
or, if you prefer to get as much as possible from pip::
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   144
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   145
  apt-get install gcc python-pip python-dev libxslt1-dev libxml2-dev
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   146
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   147
For Windows, you can install pre-built packages (possible `source
10022
927a795bb380 [book] several fixes in the rst files
David Douard <david.douard@logilab.fr>
parents: 9440
diff changeset
   148
<http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_). For a minimal setup, install:
927a795bb380 [book] several fixes in the rst files
David Douard <david.douard@logilab.fr>
parents: 9440
diff changeset
   149
927a795bb380 [book] several fixes in the rst files
David Douard <david.douard@logilab.fr>
parents: 9440
diff changeset
   150
- pip http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip
927a795bb380 [book] several fixes in the rst files
David Douard <david.douard@logilab.fr>
parents: 9440
diff changeset
   151
- setuptools http://www.lfd.uci.edu/~gohlke/pythonlibs/#setuptools
927a795bb380 [book] several fixes in the rst files
David Douard <david.douard@logilab.fr>
parents: 9440
diff changeset
   152
- libxml-python http://www.lfd.uci.edu/~gohlke/pythonlibs/#libxml-python>
927a795bb380 [book] several fixes in the rst files
David Douard <david.douard@logilab.fr>
parents: 9440
diff changeset
   153
- lxml http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml and
927a795bb380 [book] several fixes in the rst files
David Douard <david.douard@logilab.fr>
parents: 9440
diff changeset
   154
927a795bb380 [book] several fixes in the rst files
David Douard <david.douard@logilab.fr>
parents: 9440
diff changeset
   155
Make sure to choose the correct architecture and version of Python.
9268
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   156
fc24e783dca5 [doc] additional documentation about pip install
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 8597
diff changeset
   157
Finally, install |cubicweb| and its dependencies, by running::
6192
80388edf4e88 [doc] improve doc thanks to user feedback
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 5314
diff changeset
   158
12362
aa3581fc685c [doc] how to install pyramid or twisted application server
Laurent Peuch <cortex@worlddomination.be>
parents: 10543
diff changeset
   159
  pip install cubicweb[pyramid]
aa3581fc685c [doc] how to install pyramid or twisted application server
Laurent Peuch <cortex@worlddomination.be>
parents: 10543
diff changeset
   160
9269
7aa57201b0cd [doc] typos and reformulation
Paul Tonelli <paul.tonelli@logilab.fr>
parents: 9268
diff changeset
   161
Many other :ref:`cubes <AvailableCubes>` are available. A list is available at
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   162
`PyPI <http://pypi.python.org/pypi?%3Aaction=search&term=cubicweb&submit=search>`_
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   163
or at the `CubicWeb.org forge`_.
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   164
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   165
For example, installing the *blog cube* is achieved by::
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   166
6718
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   167
  pip install cubicweb-blog
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   168
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   169
.. _EasyInstallInstallation:
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   170
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   171
`easy_install` install
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   172
----------------------
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   173
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   174
.. note::
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   175
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   176
   If you are not a Windows user and you have a compilation environment, we
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   177
   recommend you to use the PipInstallation_.
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   178
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   179
`easy_install`_ is a python utility that helps downloading, installing, and
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   180
managing python packages and their dependencies.
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   181
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   182
Install |cubicweb| and its dependencies, run::
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   183
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   184
  easy_install cubicweb
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   185
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   186
There is also a wide variety of :ref:`cubes <AvailableCubes>`. You can access a
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   187
list of available cubes on `PyPI
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   188
<http://pypi.python.org/pypi?%3Aaction=search&term=cubicweb&submit=search>`_
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   189
or at the `CubicWeb.org Forge`_.
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   190
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   191
For example, installing the *blog cube* is achieved by::
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   192
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   193
  easy_install cubicweb-blog
6718
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   194
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   195
.. note::
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   196
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   197
  If you encounter problem with :ref:`cubes <AvailableCubes>` installation,
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   198
  consider using :ref:`PipInstallation` which is more stable
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   199
  but can not installed pre-compiled binaries.
6718
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   200
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   201
.. _`easy_install`: http://packages.python.org/distribute/easy_install.html
6718
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   202
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   203
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   204
.. _SourceInstallation:
6310
554da7585fba [doc/book] more notes on setup
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 6305
diff changeset
   205
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
   206
Install from source
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   207
-------------------
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
   208
6718
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   209
.. _TarballInstallation:
b741578ce7c9 [doc/book] Improve installation doc mostly about pip ans easy_install
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 6717
diff changeset
   210
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   211
You can download the archive containing the sources from
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   212
`http://download.logilab.org/pub/cubicweb/ <http://download.logilab.org/pub/cubicweb/>`_.
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
   213
6212
73565b770559 [doc] fix link to appendix
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 6192
diff changeset
   214
Make sure you also have all the :ref:`InstallDependencies`.
5135
f15286235aef [doc] enhanced setup section: fix sections'level, more postgres tips, merge environment doc with cwconfig.py module docstring using custom autodocstring directive
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4747
diff changeset
   215
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   216
Once uncompressed, you can install the framework from inside the uncompressed
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   217
folder with::
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   218
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   219
  python setup.py install
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   220
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   221
Or you can run |cubicweb| directly from the source directory by
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   222
setting the :ref:`resource mode <RessourcesConfiguration>` to `user`. This will
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   223
ease the development with the framework.
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   224
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   225
There is also a wide variety of :ref:`cubes <AvailableCubes>`. You can access a
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   226
list of availble cubes at the `CubicWeb.org Forge`_.
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   227
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   228
6192
80388edf4e88 [doc] improve doc thanks to user feedback
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 5314
diff changeset
   229
.. _MercurialInstallation:
5135
f15286235aef [doc] enhanced setup section: fix sections'level, more postgres tips, merge environment doc with cwconfig.py module docstring using custom autodocstring directive
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4747
diff changeset
   230
3488
ab9e7bcfc764 [doc] add missing dependencies in annexes. explain more precisely source install.
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 3138
diff changeset
   231
Install from version control system
7226
e88c57c10b34 [doc] major update of the install documentation
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 7099
diff changeset
   232
-----------------------------------
3488
ab9e7bcfc764 [doc] add missing dependencies in annexes. explain more precisely source install.
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 3138
diff changeset
   233
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   234
To keep-up with on-going development, clone the :ref:`Mercurial
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   235
<MercurialPresentation>` repository::
1460
6520efef1824 [doc] C011 content moved to C010
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents: 1444
diff changeset
   236
10523
f245d865821e delete unmaintained clone_deps script
Julien Cristau <julien.cristau@logilab.fr>
parents: 10491
diff changeset
   237
  hg clone -u 'last(tag())' http://hg.logilab.org/cubicweb # stable version
7230
edd2a575a8e7 [doc] update of the update
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 7226
diff changeset
   238
  hg clone http://hg.logilab.org/cubicweb # development branch
3488
ab9e7bcfc764 [doc] add missing dependencies in annexes. explain more precisely source install.
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 3138
diff changeset
   239
6212
73565b770559 [doc] fix link to appendix
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 6192
diff changeset
   240
Make sure you also have all the :ref:`InstallDependencies`.