##// END OF EJS Templates
setup: avoid setuptools 67 - it can't handle celery's broken pytz dependency...
setup: avoid setuptools 67 - it can't handle celery's broken pytz dependency With setuptools 67 or later, launching Kallithea fails as: $ gearbox serve -c my.ini --reload 15:56:54,111 ERROR [gearbox] Expected closing RIGHT_PARENTHESIS pytz (>dev) ~^ The `packaging` vendored in setuptools cannot handle the broken syntax `Requires-Dist: pytz (>dev)` in venv/lib/python3.11/site-packages/celery-5.0.5.dist-info/METADATA . The old celery version currently used by Kallithea is wrong, and setuptools has moved on after a reasonable grace period. We thus have to work around and avoid latest setuptools. See https://github.com/pypa/setuptools/issues/3889 .

File last commit:

r8767:0a9ddb8c stable
r8767:0a9ddb8c stable
Show More
installation.rst
144 lines | 5.6 KiB | text/x-rst | RstLexer
/ docs / installation.rst
updated docs, added sphinx build
r568 .. _installation:
Mads Kiilerich
docs: rename docs/installation_win.rst to docs/installation_win_old.rst, preparing for new docs
r4814 ==========================
Installation on Unix/Linux
==========================
updated docs, added sphinx build
r568
Søren Løvborg
docs: spelling, grammar, content and typography
r5425 The following describes three different ways of installing Kallithea:
Mads Kiilerich
docs: rework stuff...
r4902
Mads Kiilerich
docs: add installation overview section
r5081 - :ref:`installation-source`: The simplest way to keep the installation
Søren Løvborg
docs: spelling, grammar, content and typography
r5425 up-to-date and track any local customizations is to run directly from
source in a Kallithea repository clone, preferably inside a virtualenv
virtual Python environment.
updated docs, added sphinx build
r568
Thomas De Schampheleire
docs/installation: clarify and reorder alternative installation methods...
r4924 - :ref:`installation-virtualenv`: If you prefer to only use released versions
of Kallithea, the recommended method is to install Kallithea in a virtual
Python environment using `virtualenv`. The advantages of this method over
direct installation is that Kallithea and its dependencies are completely
contained inside the virtualenv (which also means you can have multiple
installations side by side or remove it entirely by just removing the
virtualenv directory) and does not require root privileges.
Thomas De Schampheleire
docs/installation: add section on installation from repository source...
r4922
Mads Kiilerich
docs: drop documentation for installing without virtualenv...
r8454 - Kallithea can also be installed with plain pip - globally or with ``--user``
or similar. The package will be installed in the same location as all other
Python packages you have ever installed. As a result, removing it is not as
straightforward as with a virtualenv, as you'd have to remove its
dependencies manually and make sure that they are not needed by other
packages. We recommend using virtualenv.
Thomas De Schampheleire
docs/installation: clarify and reorder alternative installation methods...
r4924
Andrew Shadura
docs: add information about extra dependencies we now need...
r5964 Regardless of the installation method you may need to make sure you have
appropriate development packages installed, as installation of some of the
Kallithea dependencies requires a working C compiler and libffi library
headers. Depending on your configuration, you may also need to install
Git and development packages for the database of your choice.
For Debian and Ubuntu, the following command will ensure that a reasonable
set of dependencies is installed::
Mads Kiilerich
py3: officially support Python 3...
r8089 sudo apt-get install build-essential git libffi-dev python3-dev
Andrew Shadura
docs: add information about extra dependencies we now need...
r5964
For Fedora and RHEL-derivatives, the following command will ensure that a
reasonable set of dependencies is installed::
Mads Kiilerich
py3: officially support Python 3...
r8089 sudo yum install gcc git libffi-devel python3-devel
Andrew Shadura
docs: add information about extra dependencies we now need...
r5964
Thomas De Schampheleire
docs/installation: clarify and reorder alternative installation methods...
r4924 .. _installation-source:
Mads Kiilerich
docs: consistent spacing around headings...
r5433
Thomas De Schampheleire
docs/installation: clarify and reorder alternative installation methods...
r4924 Installation from repository source
-----------------------------------
Mads Kiilerich
py3: use "python3 -m venv" instead of virtualenv package
r8073 To install Kallithea in a virtualenv using the stable branch of the development
Mads Kiilerich
docs: clarify that the virtualenv activation assume bash
r8359 repository, use the following commands in your bash shell::
Thomas De Schampheleire
docs/installation: add section on installation from repository source...
r4922
Mads Kiilerich
docs: prepare for having a stable development branch
r4989 hg clone https://kallithea-scm.org/repos/kallithea -u stable
Thomas De Schampheleire
docs/installation: add section on installation from repository source...
r4922 cd kallithea
Mads Kiilerich
docs: when using venv with a clone, recommend using 'venv' as location...
r8385 python3 -m venv venv
. venv/bin/activate
Mads Kiilerich
setup: avoid setuptools 67 - it can't handle celery's broken pytz dependency...
r8767 pip install --upgrade pip "setuptools<67"
Thomas De Schampheleire
docs: recommend --upgrade for all pip installations in a virtualenv...
r6703 pip install --upgrade -e .
Mads Kiilerich
py3: officially support Python 3...
r8089 python3 setup.py compile_catalog # for translation of the UI
Thomas De Schampheleire
docs/installation: add section on installation from repository source...
r4922
Mads Kiilerich
docs: clarify that "Installation from repository source" also will run from source
r8383 .. note::
This will install all Python dependencies into the virtualenv. Kallithea
itself will however only be installed as a pointer to the source location.
The source clone must thus be kept in the same location, and it shouldn't be
updated to other revisions unless you want to upgrade. Edits in the source
tree will have immediate impact (possibly after a restart of the service).
Mads Kiilerich
docs: fix broken ref...
r8555 You can now proceed to :ref:`prepare-front-end-files`.
Thomas De Schampheleire
docs/installation: add section on installation from repository source...
r4922
Thomas De Schampheleire
docs/installation: clarify and reorder alternative installation methods...
r4924 .. _installation-virtualenv:
updated docs, added sphinx build
r568
Mads Kiilerich
docs: consistent spacing around headings...
r5433
Thomas De Schampheleire
docs/installation: clarify and reorder alternative installation methods...
r4924 Installing a released version in a virtualenv
---------------------------------------------
added detailed step-by-step installation instruction for windows
r2358
Mads Kiilerich
py3: use "python3 -m venv" instead of virtualenv package
r8073 It is highly recommended to use a separate virtualenv for installing Kallithea.
Mads Kiilerich
docs: rework stuff...
r4902 This way, all libraries required by Kallithea will be installed separately from your
Thomas De Schampheleire
docs/installation: clarify and reorder alternative installation methods...
r4924 main Python installation and other applications and things will be less
problematic when upgrading the system or Kallithea.
Mads Kiilerich
py3: use "python3 -m venv" instead of virtualenv package
r8073 An additional benefit of virtualenv is that it doesn't require root privileges.
updated docs, added sphinx build
r568
Mads Kiilerich
docs: give "File system location" overview...
r8384 - Don't install as root - install as a dedicated user like ``kallithea``.
Mads Kiilerich
docs: when using venv with a clone, recommend using 'venv' as location...
r8385 If necessary, create the top directory for the virtualenv (like
``/srv/kallithea/venv``) as root and assign ownership to the user.
Mads Kiilerich
docs: give "File system location" overview...
r8384
Mads Kiilerich
docs: clarify the idea of best practice of installing in srv...
r8386 Make a parent folder for the virtualenv (and perhaps also Kallithea
configuration and data files) such as ``/srv/kallithea``. Create the
directory as root if necessary and grant ownership to the ``kallithea`` user.
Mads Kiilerich
docs: give "File system location" overview...
r8384 - Create a new virtual environment, for example in ``/srv/kallithea/venv``,
specifying the right Python binary::
more docs update
r572
Mads Kiilerich
py3: use "python3 -m venv" instead of virtualenv package
r8073 python3 -m venv /srv/kallithea/venv
more docs update
r572
Mads Kiilerich
py3: use "python3 -m venv" instead of virtualenv package
r8073 - Activate the virtualenv in your current shell session and make sure the
Mads Kiilerich
docs: clarify that the virtualenv activation assume bash
r8359 basic requirements are up-to-date by running the following commands in your
bash shell::
merge docs in beta with those corrected by Jason Harris
r1092
Andrew Shadura
docs: use ., not source, as the user isn't guaranteed to have it...
r5965 . /srv/kallithea/venv/bin/activate
Mads Kiilerich
setup: avoid setuptools 67 - it can't handle celery's broken pytz dependency...
r8767 pip install --upgrade pip "setuptools<67"
merge docs in beta with those corrected by Jason Harris
r1092
Mads Kiilerich
docs: give "File system location" overview...
r8384 .. note:: You can't use UNIX ``sudo`` to source the ``activate`` script; it
will "activate" a shell that terminates immediately.
whitespace cleanup
r3224
Mads Kiilerich
docs: give "File system location" overview...
r8384 - Install Kallithea in the activated virtualenv::
more docs update
r572
Thomas De Schampheleire
docs: recommend --upgrade for all pip installations in a virtualenv...
r6703 pip install --upgrade kallithea
whitespace cleanup
r3224
Mads Kiilerich
docs: clean up installation of optional dependencies...
r7748 .. note:: Some dependencies are optional. If you need them, install them in
the virtualenv too::
pip install --upgrade kallithea python-ldap python-pam psycopg2
This might require installation of development packages using your
distribution's package manager.
Thomas De Schampheleire
docs: fix display of 'note' in installation...
r8369 Alternatively, download a .tar.gz from http://pypi.python.org/pypi/Kallithea,
extract it and install from source by running::
Mads Kiilerich
docs: rework stuff...
r4902
Thomas De Schampheleire
docs: fix display of 'note' in installation...
r8369 pip install --upgrade .
Mads Kiilerich
docs: rework stuff...
r4902
Thomas De Schampheleire
docs: remove some references to Pylons...
r6302 - This will install Kallithea together with all other required
Python libraries into the activated virtualenv.
Mads Kiilerich
docs: rework stuff...
r4902
Mads Kiilerich
docs: fix broken ref...
r8555 You can now proceed to :ref:`prepare-front-end-files`.
.. _prepare-front-end-files:
more docs update
r572
Mads Kiilerich
docs: front-end-build is actually a part of the install process - it is shared among all the instances
r8363
Prepare front-end files
-----------------------
Mads Kiilerich
docs: clarify the need for having 'npm' and 'node' available in $PATH
r8364 Finally, the front-end files with CSS and JavaScript must be prepared. This
depends on having some commands available in the shell search path: ``npm``
version 6 or later, and ``node.js`` (version 12 or later) available as
``node``. The installation method for these dependencies varies between
operating systems and distributions.
Prepare the front-end by running::
Mads Kiilerich
docs: front-end-build is actually a part of the install process - it is shared among all the instances
r8363
kallithea-cli front-end-build
Thomas De Schampheleire
docs/installation: clarify and reorder alternative installation methods...
r4924 You can now proceed to :ref:`setup`.