pip Man page

PIP(1) PIP(1)


pip – A tool for installing and managing Python packages


pip [options]

pip3 [options]


pip is a Python package installer, recommended for installing Python
packages which are not available in the Debian archive. It can work
with version control repositories (currently only Git, Mercurial, and
Bazaar repositories), logs output extensively, and prevents partial
installs by downloading all requirements before starting installation.

On Debian, pip is the command to use when installing packages for
Python 2, while pip3 is the command to use when installing packages for
Python 3.

The command comes before any options. The following commands are rec‐

help Show help for commands.

Install packages.

Uninstall packages.

freeze Output installed packages in requirements format.

list List installed packages.

show Show information about installed packages.

search Search PyPI for packages.

wheel Build wheels from your requirements.



This list is by no means complete, and it only describes options avail‐
able to all commands. Use pip –help for more details on
command specific options. A few command options are provided below.

-h, –help
Show more detailed command help.

-v, –verbose
Give more output. Option is additive, and can be used up to 3

-V, –version
Show version and exit.

-q, –quiet
Give less output.

–log-file Path to a verbose non-appending log, that only logs failures.
This log is active by default at ~/.pip/pip.log.

–log Path to a verbose appending log. This log is inactive by

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

Set the socket timeout (default 15 seconds).

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

–cert Path to alternate CA bundle.



pip install installs packages from:

· PyPI (a.k.a. The Cheeseshop) and other indexes, using requirements

· VCS project urls.

· Local project directories.

· Local or remote source archives

-e,–editable Install a project in editable mode (i.e. setuptools “develop
mode”) from a local project path or a VCS url.

Install from the given requirements file. This option can be
used multiple times.


Directory to unpack packages into and build in. The default in
a virtualenv is “/build”. The default for global
installs is “/pip_build_“.


Install packages into.


Download packages into instead of installing them, regard‐
less of what’s already installed.


Cache downloaded packages in.


Directory to check out editable projects into. The default in a
virtualenv is “/src”. The default for global
installs is “/src”.

-U, –upgrade
Upgrade all packages to the newest available version. This
process is recursive regardless of whether a dependency is
already satisfied.

When upgrading, reinstall all packages even if they are already

-I, –ignore-installed
Ignore the installed packages (reinstalling instead).

Don’t install package dependencies.

Extra arguments to be supplied to the setup.py install command
(use like –install-option =”–install-scripts=/usr/local/bin”).
Use multiple –install-option options to pass multiple options
to setup.py install. If you are using an option with a directory
path, be sure to use absolute path.

Extra global options to be supplied to the setup.py call before
the install command.

–user Install using the user scheme.

–egg Install packages as eggs, not ‘flat’, like pip normally does.
This option is not about installing from eggs. (WARNING: Because
this option overrides pip’s normal install logic, requirements
files may not behave as expected.)


Install everything relative to this alternate root directory.

Compile py files to pyc.

Do not compile py files to pyc.

Do not find and prefer wheel archives when searching indexes and
find-links locations.

–pre Include pre-release and development versions. By default, pip
only finds stable versions.

Don’t clean up build directories.

Package Index Options:

Base URL of Python Package Index (default

Extra URLs of package indexes to use in addition to –index-url.

Ignore package index (only looking at –find-links URLs

If a url or path to an html file, then parse for links to ar‐
chives. If a local path or file:// url that’s a directory, then
look for archives in the directory listing.

–allow-external Allow the installation of externally hosted files

Allow the installation of all externally hosted files

–allow-unverified Allow the installation of insecure and unverifiable files

Enable the processing of dependency links.



pip is able to uninstall most installed packages. Known exceptions are:

· Pure distutils packages installed with python setup.py install,
which leave behind no metadata to determine what files were

· Script wrappers installed by python setup.py develop.

Uninstall all the packages listed in the given requirements
file. This option can be used multiple times.

-y, –yes
Don’t ask for confirmation of uninstall deletions.

This manual page was originally written by Jeff Licquia <‐ licquia@debian.org>, later rewritten by Carl Chenet <‐ chaica@debian.org>. It was rewritten again and the source converted to
reStructuredText by Barry Warsaw .

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU General Public License, version 3 or any
later version published by the Free Software Foundation.


Barry Warsaw

1.5.6 2014-06-03 PIP(1)