Skip to content

Commit

Permalink
pip docs refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
qwcode committed Feb 12, 2014
1 parent 8575e0c commit 9e39d9d
Show file tree
Hide file tree
Showing 24 changed files with 1,501 additions and 1,507 deletions.
174 changes: 99 additions & 75 deletions CHANGES.txt

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion PROJECT.txt
Expand Up @@ -7,4 +7,5 @@ Project Info
* Bug Tracking: https://github.com/pypa/pip/issues
* Mailing list: http://groups.google.com/group/python-virtualenv
* Docs: http://www.pip-installer.org/
* IRC: #pip on Freenode.
* User IRC: #pip on Freenode.
* Dev IRC: #pypa on Freenode.
124 changes: 3 additions & 121 deletions docs/configuration.rst
@@ -1,126 +1,8 @@
.. _`Configuration`:
:orphan:

Configuration
=================
=============

.. _config-file:
This content is now covered in the :doc:`User Guide <user_guide>`

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`"

0 comments on commit 9e39d9d

Please sign in to comment.