Do I need to install pip?

pip is already installed if you are using Python 2 >=2.7.9 or Python 3 >=3.4 downloaded from or if you are working in a Virtual Environment created by virtualenv or venv. Just make sure to upgrade pip.

Use the following command to check whether pip is installed:

$ python -m pip --version
pip X.Y.Z from .../site-packages/pip (python X.Y)
C:\> py -m pip --version
pip X.Y.Z from ...\site-packages\pip (python X.Y)

Using Linux Package Managers


If you installed Python from a package manager on Linux, you should always install pip for that Python installation using the same source.

See pypug:Installing pip/setuptools/wheel with Linux Package Managers in the Python Packaging User Guide.

Here are ways to contact a few Linux package maintainers if you run into problems:

pip developers do not have control over how Linux distributions handle pip installations, and are unable to provide solutions to related issues in general.

Using ensurepip

Python >=3.4 can self-bootstrap pip with the built-in ensurepip module. Refer to the standard library documentation for more details. Make sure to upgrade pip after ensurepip installs pip.

See the Using Linux Package Managers section if your Python reports No module named ensurepip on Debian and derived systems (e.g. Ubuntu).

Installing with


Be cautious if you are using a Python install that is managed by your operating system or another package manager. does not coordinate with those tools, and may leave your system in an inconsistent state.

To manually install pip, securely 1 download by following this link: Alternatively, use curl:

curl -o

Then run the following command in the folder where you have downloaded

py also installs setuptools 2 and wheel if they are not already. setuptools is required to install source distributions. Both are required in order to build a Wheel Cache (which improves installation speed), although neither are required to install pre-built wheels.


The script is supported on the same python version as pip. For the now unsupported Python 2.6, alternate script is available here. options


If set, do not attempt to install setuptools


If set, do not attempt to install wheel allows pip install options and the general options. Below are some examples:

Install from local copies of pip and setuptools:

python --no-index --find-links=/local/copies
py --no-index --find-links=/local/copies

Install to the user site 3:

python --user
py --user

Install behind a proxy:

python --proxy="http://[user:passwd@]proxy.server:port"
py --proxy="http://[user:passwd@]proxy.server:port" can also be used to install a specified combination of pip, setuptools, and wheel using the same requirements syntax as pip:

python pip==9.0.2 wheel==0.30.0 setuptools==28.8.0
py pip==9.0.2 wheel==0.30.0 setuptools==28.8.0

Upgrading pip

python -m pip install -U pip
py -m pip install -U pip

Python and OS Compatibility

pip works with CPython versions 3.6, 3.7, 3.8, 3.9 and also PyPy.

This means pip works on the latest patch version of each of these minor versions. Previous patch versions are supported on a best effort approach.

pip works on Unix/Linux, macOS, and Windows.


“Secure” in this context means using a modern browser or a tool like curl that verifies SSL certificates when downloading from https URLs.


Beginning with pip v1.5.1, stopped requiring setuptools to be installed first.


The pip developers are considering making --user the default for all installs, including installs of pip, but at this time, --user installs for pip itself, should not be considered to be fully tested or endorsed. For discussion, see Issue 1668.