mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
124 lines
3.3 KiB
Text
124 lines
3.3 KiB
Text
.. _`Configuration`:
|
|
|
|
Configuration
|
|
=================
|
|
|
|
Config file
|
|
------------
|
|
|
|
pip allows you to set all command line option defaults in a standard ini
|
|
style config file.
|
|
|
|
The names and locations of the configuration files vary slightly across
|
|
platforms.
|
|
|
|
* On Unix and Mac OS X the configuration file is: :file:`$HOME/.pip/pip.conf`
|
|
* On Windows, the configuration file is: :file:`%HOME%\\pip\\pip.ini`
|
|
|
|
You can set a custom path location for the config file using the environment variable ``PIP_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
|
|
|
|
|
|
Environment Variables
|
|
---------------------
|
|
|
|
pip's command line options can be set with
|
|
environment variables using the format ``PIP_<UPPER_LONG_NAME>`` . Dashes (``-``) have to replaced with underscores (``_``).
|
|
|
|
For example, to set the default timeout::
|
|
|
|
export PIP_DEFAULT_TIMEOUT=60
|
|
|
|
This is the same as passing the option to pip directly::
|
|
|
|
pip --default-timeout=60 [...]
|
|
|
|
To set options that can be set multiple times on the command line, just add spaces in between values. For example::
|
|
|
|
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
|
|
|
|
|
|
Config Precedence
|
|
-----------------
|
|
|
|
Command line options have precedence over environment variables, which have precedence over the config file.
|
|
|
|
Within the config file, command specific sections have precedence over the global section.
|
|
|
|
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
|
|
|
|
|
|
Command Completion
|
|
------------------
|
|
|
|
pip comes with support for command line completion in bash and zsh.
|
|
|
|
To setup for bash::
|
|
|
|
$ pip completion --bash >> ~/.profile
|
|
|
|
To setup for zsh::
|
|
|
|
$ pip completion --zsh >> ~/.zprofile
|
|
|
|
Alternatively, you can use the result of the ``completion`` command
|
|
directly with the eval function of you shell, e.g. by adding the following to your startup file::
|
|
|
|
eval "`pip completion --bash`"
|
|
|