mirror of https://github.com/pypa/pip
143 lines
4.0 KiB
Plaintext
143 lines
4.0 KiB
Plaintext
Configuration
|
|
=============
|
|
|
|
pip allows you to set its default options by using the following facilities,
|
|
in the order of each item's importance:
|
|
|
|
1. Command line options
|
|
|
|
2. `Environment variables`_
|
|
|
|
3. `Config files`_
|
|
|
|
1. Command specific section, e.g. ``[install]``
|
|
2. Global section ``[global]``
|
|
|
|
That means it will check each of those configuration sources and set the
|
|
defaults appropriately.
|
|
|
|
Examples
|
|
--------
|
|
|
|
- ``--host=foo`` overrides ``PIP_HOST=foo``
|
|
- ``PIP_HOST=foo`` overrides a config file with ``[global] host = foo``
|
|
- A command specific section in the config file ``[<command>] host = bar``
|
|
overrides the option with same name in the ``[global]`` config file section
|
|
- Environment variables override config files
|
|
|
|
Config files
|
|
------------
|
|
|
|
pip allows you to set all command line option defaults in a standard ini
|
|
style config file.
|
|
|
|
The names of the settings are derived from the long command line option, e.g.
|
|
if you want to use a different package index (``--index-url``) and set the
|
|
HTTP timeout (``--default-timeout``) to 60 seconds your config file would
|
|
look like this:
|
|
|
|
.. code-block:: ini
|
|
|
|
[global]
|
|
timeout = 60
|
|
index-url = http://download.zope.org/ppix
|
|
|
|
Each subcommand can be configured optionally in its own section so that every
|
|
global setting with the same name will be overridden; e.g. decreasing the
|
|
``timeout`` to ``10`` seconds when running the `freeze`
|
|
(`Freezing Requirements <./#freezing-requirements>`_) command and using
|
|
``60`` seconds for all other commands is possible with:
|
|
|
|
.. code-block:: ini
|
|
|
|
[global]
|
|
timeout = 60
|
|
|
|
[freeze]
|
|
timeout = 10
|
|
|
|
Boolean options like ``--ignore-installed`` or ``--no-dependencies`` can be
|
|
set like this:
|
|
|
|
.. code-block:: ini
|
|
|
|
[install]
|
|
ignore-installed = true
|
|
no-dependencies = yes
|
|
|
|
Appending options like ``--find-links`` can be written on multiple lines:
|
|
|
|
.. code-block:: ini
|
|
|
|
[global]
|
|
find-links =
|
|
http://download.example.com
|
|
|
|
[install]
|
|
find-links =
|
|
http://mirror1.example.com
|
|
http://mirror2.example.com
|
|
|
|
Location
|
|
********
|
|
|
|
The names and locations of the configuration files vary slightly across
|
|
platforms.
|
|
|
|
On Unix and Mac OS X the configuration file is:
|
|
:file:`$HOME/.config/pip/pip.conf`
|
|
|
|
And on Windows, the configuration file is: :file:`%HOME%\\pip\\pip.ini`
|
|
|
|
Environment variables
|
|
-----------------------
|
|
|
|
Just like with `config files`_, each of pip's command line options
|
|
(long version, e.g. ``--find-links``) are automatically set by looking for
|
|
environment variables with the name format ``PIP_<UPPER_NAME>``. That means
|
|
the name of the command line options are capitalized and have dashes (``-``)
|
|
replaced with underscores (``_``).
|
|
|
|
For example, to redefine the default timeout you can also set an
|
|
environment variable::
|
|
|
|
export PIP_DEFAULT_TIMEOUT=60
|
|
pip install ipython
|
|
|
|
Which is the same as passing the option to pip directly::
|
|
|
|
pip --default-timeout=60 install ipython
|
|
|
|
This also works for appending command line options, like ``--find-links``.
|
|
Just leave an empty space between the passsed values, e.g.::
|
|
|
|
export PIP_FIND_LINKS="http://mirror1.example.com http://mirror2.example.com"
|
|
|
|
is the same as calling::
|
|
|
|
pip install --find-links=http://mirror1.example.com --find-links=http://mirror2.example.com
|
|
|
|
Configuration options
|
|
---------------------
|
|
|
|
Mirror support
|
|
**************
|
|
|
|
The `PyPI mirroring infrastructure <http://pypi.python.org/mirrors>`_ as
|
|
described in `PEP 381 <http://www.python.org/dev/peps/pep-0381/>`_ can be
|
|
used by passing the ``--use-mirrors`` option to the install command.
|
|
Alternatively, you can use the other ways to configure pip, e.g.::
|
|
|
|
$ export PIP_USE_MIRRORS=true
|
|
|
|
If enabled, pip will automatically query the DNS entry of the mirror index URL
|
|
to find the list of mirrors to use. In case you want to override this list,
|
|
please use the ``--mirrors`` option of the install command, or add to your pip
|
|
configuration file::
|
|
|
|
[install]
|
|
use-mirrors = true
|
|
mirrors =
|
|
http://d.pypi.python.org
|
|
http://b.pypi.python.org
|