diff --git a/docs/html/topics/configuration.md b/docs/html/topics/configuration.md index 12bad0ad7a4..c508c0ffc63 100644 --- a/docs/html/topics/configuration.md +++ b/docs/html/topics/configuration.md @@ -2,11 +2,13 @@ # Configuration -pip allows a user to change its behaviour via 3 mechanisms: +pip allows a user to change its behaviour via 3 mechanisms. +These mechanisms are listed in order of priority, meaning that +command line options has [preference](config-preference): -- command line options -- environment variables -- configuration files +1. command line options +2. [environment variables](env-variables) +3. [configuration files](config-file) This page explains how the configuration files and environment variables work, and how they are related to pip's various command line options. @@ -28,7 +30,12 @@ pip has 3 "levels" of configuration files: - `user`: per-user configuration file. - `site`: per-environment configuration file; i.e. per-virtualenv. -Additionally, environment variables can be specified which will override any of the above. +```{note} +Options specified through environment variables or command line options +take precedence over configuration files. + +See the [preference section](config-preference) for more details. +``` ### Location @@ -199,33 +206,38 @@ trusted-host = This enables users to add additional values in the order of entry for such command line arguments. -## Environment Variables +(env-variables)= -pip's command line options can be set with environment variables using the -format `PIP_` . Dashes (`-`) have to be replaced with -underscores (`_`). +## Environment Variables -- `PIP_TIMEOUT=60` is the same as `--timeout=60` -- ``` - PIP_FIND_LINKS="http://mirror1.example.com http://mirror2.example.com" - ``` +All pip's command line options have equivalent environment variables, +they can be specified using: +```shell +PIP_ +``` - is the same as +Options with dashes (`-`) have to be replaced with underscores (`_`). - ``` - --find-links=http://mirror1.example.com --find-links=http://mirror2.example.com - ``` +Examples: -Repeatable options that do not take a value (such as `--verbose`) can be -specified using the number of repetitions: +```shell +PIP_VERBOSE=3 PIP_CACHE_DIR=/home/user/tmp pip ... +# is equivalent to +pip ... -vvv --cache-dir=/home/user/tmp +``` -- `PIP_VERBOSE=3` is the same as `pip install -vvv` +All option values follows the same rules as for the [configuration files](config-file). ```{note} Environment variables set to an empty string (like with `export X=` on Unix) will **not** be treated as false. Use `no`, `false` or `0` instead. + +Consequently, boolean options prefixed with `--no-*` can be disabled by using +truthy values, e.g. `PIP_NO_CACHE_DIR=true`. ``` +(config-preference)= + ## Precedence / Override order Command line options override environment variables, which override the