python -m pip <command> [options]
py -m pip <command> [options]



Console logging#

pip offers -v, --verbose and -q, --quiet to control the console log level. By default, some messages (error and warnings) are colored in the terminal. If you want to suppress the colored output use --no-color.

File logging#

pip offers the --log option for specifying a file where a maximum verbosity log will be kept. This option is empty by default. This log appends to previous logging.

Like all pip options, --log can also be set as an environment variable, or placed into the pip config file. See the Configuration section.

--exists-action option#

This option specifies default behavior when path already exists. Possible cases: downloading files or checking out repositories for installation, creating archives. If --exists-action is not defined, pip will prompt when decision is needed.


Only relevant to VCS checkout. Attempt to switch the checkout to the appropriate URL and/or revision.


Abort current operation (e.g. don’t copy file, don’t create archive, don’t modify a checkout).


Delete the file or VCS checkout before trying to create, download, or checkout a new one.


Rename the file or checkout to {name}{'.bak' * n}, where n is some number of .bak extensions, such that the file didn’t exist at some point. So the most recent backup will be the one with the largest number after .bak.


Abort pip and return non-zero exit status.

Build System Interface

This is now covered in Build System Interface.

General Options#

-h, --help#

Show help.


Let unhandled exceptions propagate outside the main subroutine, instead of logging them to stderr.


Run pip in an isolated mode, ignoring environment variables and user configuration.


Allow pip to only run in a virtual environment; exit with an error otherwise.

--python <python>#

Run pip with the specified Python interpreter.

-v, --verbose#

Give more output. Option is additive, and can be used up to 3 times.

-V, --version#

Show version and exit.

-q, --quiet#

Give less output. Option is additive, and can be used up to 3 times (corresponding to WARNING, ERROR, and CRITICAL logging levels).

--log <path>#

Path to a verbose appending log.


Disable prompting for input.

--keyring-provider <keyring_provider>#

Enable the credential lookup via the keyring library if user input is allowed. Specify which mechanism to use [disabled, import, subprocess]. (default: disabled)

--proxy <proxy>#

Specify a proxy in the form scheme://[user:passwd@]proxy.server:port.

--retries <retries>#

Maximum number of retries each connection should attempt (default 5 times).

--timeout <sec>#

Set the socket timeout (default 15 seconds).

--exists-action <action>#

Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.

--trusted-host <hostname>#

Mark this host or host:port pair as trusted, even though it does not have valid or any HTTPS.

--cert <path>#

Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See ‘SSL Certificate Verification’ in pip documentation for more information.

--client-cert <path>#

Path to SSL client certificate, a single file containing the private key and the certificate in PEM format.

--cache-dir <dir>#

Store the cache data in <dir>.


Disable the cache.


Don’t periodically check PyPI to determine whether a new version of pip is available for download. Implied with --no-index.


Suppress colored output.


Silence deprecation warnings for upcoming unsupported Pythons.

--use-feature <feature>#

Enable new functionality, that may be backward incompatible.

--use-deprecated <feature>#

Enable deprecated functionality, that will be removed in the future.