sphinx/doc/usage/installation.rst

283 lines
7.0 KiB
ReStructuredText
Raw Normal View History

=================
2013-01-18 16:17:11 -06:00
Installing Sphinx
2013-03-29 05:45:07 -05:00
=================
2013-01-18 16:17:11 -06:00
.. contents::
:depth: 1
:local:
:backlinks: none
.. highlight:: console
Overview
--------
2013-01-18 16:17:11 -06:00
2020-06-03 10:18:30 -05:00
Sphinx is written in `Python`__ and supports Python 3.6+. It builds upon the
shoulders of many third-party libraries such as `Docutils`__ and `Jinja`__,
which are installed when Sphinx is installed.
2013-01-18 16:17:11 -06:00
2018-09-23 11:36:25 -05:00
__ https://docs.python-guide.org/
__ https://docutils.sourceforge.io/
__ https://jinja.palletsprojects.com/
2013-01-18 16:17:11 -06:00
Linux
-----
Debian/Ubuntu
~~~~~~~~~~~~~
2020-02-23 21:39:57 -06:00
Install either ``python3-sphinx`` using :command:`apt-get`:
::
$ apt-get install python3-sphinx
If it not already present, this will install Python for you.
RHEL, CentOS
~~~~~~~~~~~~
Install ``python-sphinx`` using :command:`yum`:
::
$ yum install python-sphinx
If it not already present, this will install Python for you.
Other distributions
~~~~~~~~~~~~~~~~~~~
2013-03-29 05:45:07 -05:00
Most Linux distributions have Sphinx in their package repositories. Usually
the package is called ``python3-sphinx``, ``python-sphinx`` or ``sphinx``. Be
aware that there are at least two other packages with ``sphinx`` in their name:
a speech recognition toolkit (*CMU Sphinx*) and a full-text search database
(*Sphinx search*).
2013-03-29 05:45:07 -05:00
macOS
-----
2018-03-17 16:56:53 -05:00
Sphinx can be installed using `Homebrew`__, `MacPorts`__, or as part of
a Python distribution such as `Anaconda`__.
__ https://brew.sh/
__ https://www.macports.org/
2018-03-17 16:56:53 -05:00
__ https://www.anaconda.com/download/#macos
Homebrew
~~~~~~~~
::
$ brew install sphinx-doc
For more information, refer to the `package overview`__.
2018-09-23 11:36:25 -05:00
__ https://formulae.brew.sh/formula/sphinx-doc
MacPorts
~~~~~~~~
Install either ``python3x-sphinx`` using :command:`port`:
::
$ sudo port install py38-sphinx
2013-03-29 05:45:07 -05:00
To set up the executable paths, use the ``port select`` command:
::
$ sudo port select --set python python38
$ sudo port select --set sphinx py38-sphinx
For more information, refer to the `package overview`__.
__ https://www.macports.org/ports.php?by=library&substr=py38-sphinx
2018-03-17 16:56:53 -05:00
Anaconda
~~~~~~~~
::
2018-03-17 16:56:53 -05:00
$ conda install sphinx
Windows
-------
2021-03-06 12:51:41 -06:00
Sphinx can be install using `Chocolatey`__ or
:ref:`installed manually <windows-other-method>`.
2021-03-06 12:43:40 -06:00
__ https://chocolatey.org/
Chocolatey
~~~~~~~~~~
::
$ choco install sphinx
You would need to `install Chocolatey
<https://chocolatey.org/install>`_
2021-03-06 12:43:40 -06:00
before running this.
For more information, refer to the `chocolatey page`__.
__ https://chocolatey.org/packages/sphinx/
.. _windows-other-method:
Other Methods
~~~~~~~~~~~~~
Most Windows users do not have Python installed by default, so we begin with
2019-07-05 20:41:22 -05:00
the installation of Python itself. To check if you already have Python
installed, open the *Command Prompt* (:kbd:`⊞Win-r` and type :command:`cmd`).
Once the command prompt is open, type :command:`python --version` and press
Enter. If Python is installed, you will see the version of Python printed to
the screen. If you do not have Python installed, refer to the `Hitchhikers
Guide to Python's`__ Python on Windows installation guides. You must install
`Python 3`__.
Once Python is installed, you can install Sphinx using :command:`pip`. Refer
to the :ref:`pip installation instructions <install-pypi>` below for more
information.
2018-09-23 11:36:25 -05:00
__ https://docs.python-guide.org/
__ https://docs.python-guide.org/starting/install3/win/
.. _install-pypi:
Installation from PyPI
----------------------
Sphinx packages are published on the `Python Package Index
<https://pypi.org/project/Sphinx/>`_. The preferred tool for installing
packages from *PyPI* is :command:`pip`. This tool is provided with all modern
versions of Python.
On Linux or MacOS, you should open your terminal and run the following command.
::
$ pip install -U sphinx
On Windows, you should open *Command Prompt* (:kbd:`⊞Win-r` and type
:command:`cmd`) and run the same command.
.. code-block:: doscon
C:\> pip install -U sphinx
After installation, type :command:`sphinx-build --version` on the command
prompt. If everything worked fine, you will see the version number for the
Sphinx package you just installed.
Installation from *PyPI* also allows you to install the latest development
release. You will not generally need (or want) to do this, but it can be
useful if you see a possible bug in the latest stable release. To do this, use
the ``--pre`` flag.
::
$ pip install -U --pre sphinx
Using virtual environments
~~~~~~~~~~~~~~~~~~~~~~~~~~
When installing Sphinx using pip,
it is highly recommended to use *virtual environments*,
which isolate the installed packages from the system packages,
thus removing the need to use administrator privileges.
To create a virtual environment in the ``.venv`` directory,
use the following command.
::
$ python -m venv .venv
You can read more about them in the `Python Packaging User Guide`_.
.. _Python Packaging User Guide: https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment
.. warning::
Note that in some Linux distributions, such as Debian and Ubuntu,
this might require an extra installation step as follows.
.. code-block:: console
$ apt-get install python3-venv
Docker
------
2020-02-24 00:41:27 -06:00
Docker images for Sphinx are published on the `Docker Hub`_. There are two kind
of images:
2020-02-24 00:41:27 -06:00
- `sphinxdoc/sphinx`_
- `sphinxdoc/sphinx-latexpdf`_
2020-02-24 00:41:27 -06:00
.. _Docker Hub: https://hub.docker.com/
.. _sphinxdoc/sphinx: https://hub.docker.com/r/sphinxdoc/sphinx
.. _sphinxdoc/sphinx-latexpdf: https://hub.docker.com/r/sphinxdoc/sphinx-latexpdf
Former one is used for standard usage of Sphinx, and latter one is mainly used for
PDF builds using LaTeX. Please choose one for your purpose.
2020-02-24 00:41:27 -06:00
.. note::
sphinxdoc/sphinx-latexpdf contains TeXLive packages. So the image is very large
(over 2GB!).
2020-02-24 00:41:27 -06:00
2020-02-29 01:22:55 -06:00
.. hint::
When using docker images, please use ``docker run`` command to invoke sphinx
commands. For example, you can use following command to create a Sphinx
project:
.. code-block:: console
2020-02-24 00:41:27 -06:00
$ docker run -it --rm -v /path/to/document:/docs sphinxdoc/sphinx sphinx-quickstart
2020-02-24 00:41:27 -06:00
2021-12-04 06:13:17 -06:00
And you can use the following command to build HTML document:
.. code-block:: console
2020-02-24 00:41:27 -06:00
2020-02-29 01:22:55 -06:00
$ docker run --rm -v /path/to/document:/docs sphinxdoc/sphinx make html
2020-02-24 00:41:27 -06:00
2020-02-29 01:22:55 -06:00
For more details, please read `README file`__ of docker images.
2020-02-24 00:41:27 -06:00
.. __: https://hub.docker.com/r/sphinxdoc/sphinx
Installation from source
------------------------
You can install Sphinx directly from a clone of the `Git repository`__. This
can be done either by cloning the repo and installing from the local clone, on
simply installing directly via :command:`git`.
::
$ git clone https://github.com/sphinx-doc/sphinx
$ cd sphinx
$ pip install .
::
$ pip install git+https://github.com/sphinx-doc/sphinx
You can also download a snapshot of the Git repo in either `tar.gz`__ or
`zip`__ format. Once downloaded and extracted, these can be installed with
:command:`pip` as above.
.. highlight:: default
__ https://github.com/sphinx-doc/sphinx
__ https://github.com/sphinx-doc/sphinx/archive/master.tar.gz
__ https://github.com/sphinx-doc/sphinx/archive/master.zip