program name is ``'/usr/local/bin/python'``, the prefix is ``'/usr/local'``. The
returned string points into static storage; the caller should not modify its
value. This corresponds to the :makevar:`prefix` variable in the top-level
- :file:`Makefile` and the ``--prefix`` argument to the :program:`configure`
+ :file:`Makefile` and the :option:`--prefix` argument to the :program:`configure`
script at build time. The value is available to Python code as ``sys.prefix``.
It is only useful on Unix. See also the next function.
The header files are typically installed with Python. On Unix, these are
located in the directories :file:`{prefix}/include/pythonversion/` and
-:file:`{exec_prefix}/include/pythonversion/`, where :envvar:`prefix` and
-:envvar:`exec_prefix` are defined by the corresponding parameters to Python's
+:file:`{exec_prefix}/include/pythonversion/`, where :option:`prefix <--prefix>` and
+:option:`exec_prefix <--exec-prefix>` are defined by the corresponding parameters to Python's
:program:`configure` script and *version* is
``'%d.%d' % sys.version_info[:2]``. On Windows, the headers are installed
-in :file:`{prefix}/include`, where :envvar:`prefix` is the installation
+in :file:`{prefix}/include`, where ``prefix`` is the installation
directory specified to the installer.
To include the headers, place both directories (if different) on your compiler's
search path for includes. Do *not* place the parent directories on the search
path and then use ``#include <pythonX.Y/Python.h>``; this will break on
multi-platform builds since the platform independent headers under
-:envvar:`prefix` include the platform specific headers from
-:envvar:`exec_prefix`.
+:option:`prefix <--prefix>` include the platform specific headers from
+:option:`exec_prefix <--exec-prefix>`.
C++ users should note that although the API is defined entirely using C, the
header files properly declare the entry points to be ``extern "C"``. As a result,
A string giving the site-specific directory prefix where the platform
independent Python files are installed; on Unix, the default is
- ``'/usr/local'``. This can be set at build time with the ``--prefix``
+ :file:`/usr/local`. This can be set at build time with the :option:`--prefix`
argument to the :program:`configure` script. See
:ref:`installation_paths` for derived paths.
Install Options
---------------
+.. cmdoption:: --prefix=PREFIX
+
+ Install architecture-independent files in PREFIX. On Unix, it
+ defaults to :file:`/usr/local`.
+
+ This value can be retrived at runtime using :data:`sys.prefix`.
+
+ As an example, one can use ``--prefix="$HOME/.local/"`` to install
+ a Python in its home directory.
+
+.. cmdoption:: --exec-prefix=EPREFIX
+
+ Install architecture-dependent files in EPREFIX, defaults to :option:`--prefix`.
+
+ This value can be retrived at runtime using :data:`sys.exec_prefix`.
+
.. cmdoption:: --disable-test-modules
Don't build nor install test modules, like the :mod:`test` package or the
==============================
These are subject to difference depending on local installation conventions;
-:envvar:`prefix` (``${prefix}``) and :envvar:`exec_prefix` (``${exec_prefix}``)
+:option:`prefix <--prefix>` and :option:`exec_prefix <--exec-prefix>`
are installation-dependent and should be interpreted as for GNU software; they
may be the same.