(pip maintainer here!) If the package is not a wheel, pip tries to build a wheel for it (via setup.py bdistwheel).If that fails for any reason, you get the 'Failed building wheel for pycparser' message and pip falls back to installing directly (via setup.py install). The main advantage of that solution is that it install pip for the python version that has been used to run get-pip.py, which means that if you use the default OS X installation of python to run get-pip.py you will install pip for the python install from the system. I want to install pip for python 2.7 on my Mac. I think this is the python located in /usr/bin/python. Unfortunately I have already installed Anaconda, which installs python 3.6.3, and changes things so that the command python xxx.py automatically runs xxx.py using python 3.6.3.
pip is already installed if you are using Python 2 >=2.7.9 or Python 3 >=3.4downloaded from python.org or if you are workingin a Virtual Environmentcreated by virtualenv or venv. Just make sureto upgrade pip.
Use the following command to check whether pip is installed:
Warning
If you installed Python from a package manager on Linux, you should alwaysinstall pip for that Python installation using the same source.
See pypug:Installing pip/setuptools/wheel with Linux Package Managersin the Python Packaging User Guide.
Here are ways to contact a few Linux package maintainers if you run intoproblems:
Debian Python Team (for generalissues related to apt
)
pip developers do not have control over how Linux distributions handle pipinstallations, and are unable to provide solutions to related issues ingeneral.
Python >=3.4 can self-bootstrap pip with the built-inensurepip module. Refer to the standard librarydocumentation for more details. Make sure to upgrade pipafter ensurepip
installs pip.
See the Using Linux Package Managers section if your Python reportsNomodulenamedensurepip
on Debian and derived systems (e.g. Ubuntu).
Warning
Be cautious if you are using a Python install that is managed by your operatingsystem or another package manager. get-pip.py
does not coordinate withthose tools, and may leave your system in an inconsistent state.
To manually install pip, securely 1 download get-pip.py
by followingthis link: get-pip.py. Alternatively, use curl
:
Then run the following command in the folder where youhave downloaded get-pip.py
:
get-pip.py
also installs setuptools2 and wheelif they are not already. setuptools is required to installsource distributions. Both arerequired in order to build a Wheel Cache (which improves installationspeed), although neither are required to install pre-built wheels.
Note
The get-pip.py script is supported on the same python version as pip.For the now unsupported Python 2.6, alternate script is availablehere.
--no-setuptools
¶If set, do not attempt to install setuptools
--no-wheel
¶If set, do not attempt to install wheel
get-pip.py
allows pip install options and the general options. Below aresome examples:
Install from local copies of pip and setuptools:
Install to the user site 3:
Install behind a proxy:
get-pip.py
can also be used to install a specified combination of pip
,setuptools
, and wheel
using the same requirements syntax as pip:
pip works with CPython versions 3.6, 3.7, 3.8 and also PyPy.
This means pip works on the latest patch version of each of these minorversions. 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 atool like curl
that verifies SSL certificates when downloading fromhttps URLs.
Beginning with pip v1.5.1, get-pip.py
stopped requiring setuptools tobe installed first.
The pip developers are considering making --user
the default for allinstalls, including get-pip.py
installs of pip, but at this time,--user
installs for pip itself, should not be considered to be fullytested or endorsed. For discussion, see Issue 1668.
Important
Did this article help?
We are currently doing research to improve pip’s documentationand would love your feedback.Please ?subject=[Doc: installing] Pip docs feedback (URL: https://) &body=%0A%20%20%20%200.%20Document:%20installing.%20Page%20URL:%20https://%20%0A%0A%20%20%20%201.%20What%20problem%20were%20you%20trying%20to%20solve%20when%20you%20came%20to%20this%20page?%20%0A%0A%20%20%20%202.%20What%20content%20was%20useful?%20%0A%0A%20%20%20%203.%20What%20content%20was%20not%20useful?'>email us and let us know:
What problem were you trying to solve when you came to this page?
What content was useful?
What content was not useful?