By deamon


2011-07-05 18:58:49 8 Comments

I want to install pip. It should support Python 3, but it requires setuptools, which is available only for Python 2.

How can I install pip with Python 3?

20 comments

@GreenInkling 2019-01-08 05:36:09

pip is installed together when you install Python. You can use sudo pip install (module) or python3 -m pip install (module).

@Ganesh K 2016-11-07 13:09:40

Single Python in system

To install packages in Python always follow these steps:

  1. If the package is for python 2.x: sudo python -m pip install [package]
  2. If the package is for python 3.x: sudo python3 -m pip install [package]

Note: This is assuming no alias is set for python

Through this method, there will be no confusion regarding which python version is receiving the package.

Multiple Pythons

Say you have python3 ↔ python3.6 and python3.7 ↔ python3.7

  1. To install for python3.6: sudo python3 -m pip install [package]
  2. To instal for python3.7: sudo python3.7 -m pip install [package]

This is essentially the same method as shown previously.

Note 1

How to find which python, your python3 command spawns:

[email protected]:~$ python3 # Type in terminal
Python 3.6.6 (default, Sep 12 2018, 18:26:19) # Your python3 version
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Notice python 3.6.6 in the second line.

Note 2

Change what python3 or python points to: https://askubuntu.com/questions/320996/how-to-make-python-program-command-execute-python-3

@Christopher Hunter 2018-10-16 21:41:42

Of all these methods, this is the only way I managed to get pip to install for python3.5 when I have both 3.4 and 3.5 on the system.

@typelogic 2018-10-11 19:34:24

Below video is how I did in cygwin:

https://asciinema.org/a/hSu4kmJ6wb7b2UiuvxiXqtgGK

There is weirdness in python's pip, pip2, pip3 craziness. In crazy situations like these, it is imperative that there is less talking or explanations, but instead demonstrate things out.

@Sonia Rani 2018-08-11 11:31:17

If your Linux distro came with Python already installed, you should be able to install PIP using your system’s package manager. This is preferable since system-installed versions of Python do not play nicely with the get-pip.py script used on Windows and Mac.

Advanced Package Tool (Python 2.x)

sudo apt-get install python-pip

Advanced Package Tool (Python 3.x)

sudo apt-get install python3-pip

pacman Package Manager (Python 2.x)

sudo pacman -S python2-pip

pacman Package Manager (Python 3.x)

sudo pacman -S python-pip

Yum Package Manager (Python 2.x)

sudo yum upgrade python-setuptools
sudo yum install python-pip python-wheel

Yum Package Manager (Python 3.x)

sudo yum install python3 python3-wheel

Dandified Yum (Python 2.x)

sudo dnf upgrade python-setuptools
sudo dnf install python-pip python-wheel

Dandified Yum (Python 3.x)

sudo dnf install python3 python3-wheel

Zypper Package Manager (Python 2.x)

sudo zypper install python-pip python-setuptools python-wheel

Zypper Package Manager (Python 3.x)

sudo zypper install python3-pip python3-setuptools python3-wheel

@wkl 2011-07-05 19:01:07

edit: Manual installation and use of setuptools is not the standard process anymore.

If you're running Python 2.7.9+ or Python 3.4+

Congrats, you should already have pip installed. If you do not, read onward.

If you're running a Unix-like System

You can usually install the package for pip through your package manager if your version of Python is older than 2.7.9 or 3.4, or if your system did not include it for whatever reason.

Instructions for some of the more common distros follow.

Installing on Debian (Wheezy and newer) and Ubuntu (Trusty Tahr and newer) for Python 2.x

Run the following command from a terminal:

sudo apt-get install python-pip 

Installing on Debian (Wheezy and newer) and Ubuntu (Trusty Tahr and newer) for Python 3.x

Run the following command from a terminal:

sudo apt-get install python3-pip
Note:

On a fresh Debian/Ubuntu install, the package may not be found until you do:

sudo apt-get update

Installing pip on CentOS 7 for Python 2.x

On CentOS 7, you have to install setup tools first, and then use that to install pip, as there is no direct package for it.

sudo yum install python-setuptools
sudo easy_install pip

Installing pip on CentOS 7 for Python 3.x

Assuming you installed Python 3.4 from EPEL, you can install Python 3's setup tools and use it to install pip.

# First command requires you to have enabled EPEL for CentOS7
sudo yum install python34-setuptools
sudo easy_install pip

If your Unix/Linux distro doesn't have it in package repos

Install using the manual way detailed below.

The manual way

If you want to do it the manual way, the now-recommended method is to install using the get-pip.py script from pip's installation instructions.

Install pip

To install pip, securely download get-pip.py

Then run the following (which may require administrator access):

python get-pip.py 

If setuptools is not already installed, get-pip.py will install setuptools for you.

@talljosh 2012-04-30 04:02:21

It's worth noting that the distribute install script has a --user flag that will install distribute just for the current user.

@Tyler Crompton 2013-02-27 15:53:48

How does one use distribute to install pip? I can't seem to figure it out.

@wkl 2013-02-27 16:11:36

@TylerCrompton - easy_install pip.

@Jonathan Hartley 2013-02-28 20:09:31

I ran "python3.3 distribute_setup.py". It seemed to work but the only easy_install on my PATH now are "easy_install" in Python2.7, plus "easy_install-2.6 easy_install-3.2 easy_install-2.5 easy_install-2.7" :-\

@wegry 2013-08-03 22:07:37

distribute has since been superseded by [setup_tools] (pypi.python.org/pypi/setuptools).

@Thomas Ahle 2014-03-14 10:14:29

@WoJ 2015-01-29 07:22:39

From pythonhosted.org/distribute: "Distribute is a deprecated fork of the Setuptools project.". It is abandoned and not being maintained anymore.

@jamescampbell 2015-08-28 12:35:36

For some reason on my instance of Ubuntu 14.04 with python3.4 already installed from apt-get, I also had to run sudo easy_install3 pip and then pip3 install works from that point on.

@mahacoder 2016-02-01 07:09:51

I installed pip the manual way , but now I have pip and pip3 both. If I run any of them with -V option, I get pip 8.0.2 from /Library/Frameworks/Python.framework/Versions/3.5/lib/python‌​3.5/site-packages (python 3.5). How do I keep only one and remove the other?

@tamale 2016-03-04 18:43:23

pip is unfortunately not included with python 3.4 if you're on centos. See here for details: stackoverflow.com/questions/32618686/…

@wkl 2016-03-04 19:59:43

@ak31 - pip is likely a symbolic link to pip3. If you do an ls -l $(which pip), it should probably show that.

@wkl 2016-03-04 20:19:08

@tamale - Python 3.4 isn't a default package on CentOS 7 - I've included some additional instructions for people running CentOS 7, assuming they use EPEL to install Python 3.4.

@user1214678 2016-04-09 18:54:27

Pip's website says that it already comes with Python 3.4+ if you downloaded from python.org. However, when I type pip on terminal, I get command not found. So I decided to go through the python3's install docs again, where it mentions that python and pip should be accessed using the commands python3 and pip3 instead. This is not obvious from the documentation on either site.

@PlasmaBinturong 2016-10-25 15:20:06

For those who want to use the manual install (get-pip.py), this won't work with python3.0 to 3.2...

@user25 2017-04-21 16:38:57

where is windows? I don't say that I'm using only windows, I have no problem to install all of this in ubuntu, by author didn't mention linux, why there such a discrimination, like python, pip doesn't exist for windows...

@loretoparisi 2017-04-28 09:25:26

This will install pip for python not for python3, the right way is sudo apt-get install python3-pip

@CodeFinity 2017-12-16 13:22:21

@loretoparisi That's what it says in the Answer up there. M Installing it now... :|

@CodeFinity 2017-12-16 13:25:44

I did have to follow @jamescampbell tip to get it to work fully though.

@CodeFinity 2017-12-16 13:26:52

Collecting pip Using cached pip-9.0.1-py2.py3-none-any.whl Installing collected packages: pip Successfully installed pip-8.1.1 You are using pip version 8.1.1, however version 9.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. This is bit strange...I'm fine with v8, I guess, but it always keeps saying the same message when I try to 'upgrade.' :|

@will 2018-07-12 12:40:06

It is a bit confusing. I can report that the Debian command worked for Ubuntu 16 and Python3: sudo apt-get install python3-pip. pip was NOT installed with Python 3 for this Ubuntu's PPA. I used to use Python a lot -- There's really no need for a disregard for forward migration ... Yet it still happens. Some kind of interface management or poly-fill approach would save lots of trouble. Witness 17 x answers to the same question and more than a dozen comments on the accepted answer. Me thinks a smell.

@0x1996 2018-07-10 09:22:19

And for Windows 8.1/10 OS Users just open cmd (command prompt)

write this : C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python36-32\Scripts

then

just write this : pip3 install {name of package}

Hint: the location of folder Python36-32 may get different for new python 3.x versions

@Duc Pham 2014-02-04 09:42:22

For Ubuntu 12.04 or older,

sudo apt-get install python3-pip

won't work. Instead, use:

sudo apt-get install python3-setuptools ca-certificates
sudo easy_install3 pip

@ksaylor11 2015-05-04 00:43:45

worked on Debian (Jessie)

@MohK 2016-07-22 11:37:29

worked on ubuntu 12.04 .. thnx.. :)

@vinayakumarnk 2018-03-22 12:16:56

@Duc Pharm Second answer worked on Ubuntu 16.10

@Blaszard 2017-11-27 21:17:46

Older version of Homebrew

If you are on macOS, use homebrew.

brew install python3 # this installs python only
brew postinstall python3 # this command installs pip

Also note that you should check the console if the install finished successfully. Sometimes it doesn't (e.g. an error due to ownership), but people simply overlook the log.


UPDATED - Homebrew version after 1.5

According to the official Homebrew page:

On 1st March 2018 the python formula will be upgraded to Python 3.x and a [email protected] formula will be added for installing Python 2.7 (although this will be keg-only so neither python nor python2 will be added to the PATH by default without a manual brew link --force). We will maintain python2, python3 and [email protected] aliases.

So to install Python 3, run the following command:

brew install python3

Then, the pip is installed automatically, and you can install any package by pip install <package>.

@Colonel Panic 2013-03-04 21:36:59

Python 3.4+ and Python 2.7.9+

Good news! Python 3.4 (released March 2014) ships with Pip. This is the best feature of any Python release. It makes the community's wealth of libraries accessible to everyone. Newbies are no longer excluded by the prohibitive difficulty of setup. In shipping with a package manager, Python joins Ruby, Nodejs, Haskell, Perl, Go--almost every other contemporary language with a majority open-source community. Thank you Python.

Of course, that doesn't mean Python packaging is problem solved. The experience remains frustrating. I discuss this at Does Python have a package/module management system?

Alas for everyone using an earlier Python. Manual instructions follow.

Python ≤ 2.7.8 and Python ≤ 3.3

Follow my detailed instructions at https://stackoverflow.com/a/12476379/284795 . Essentially

Official instructions

Per https://pip.pypa.io/en/stable/installing.html

Download get-pip.py, being careful to save it as a .py file rather than .txt. Then, run it from the command prompt.

python get-pip.py

You possibly need an administrator command prompt to do this. Follow http://technet.microsoft.com/en-us/library/cc947813(v=ws.10).aspx

For me, this installed Pip at C:\Python27\Scripts\pip.exe. Find pip.exe on your computer, then add its folder (eg. C:\Python27\Scripts) to your path (Start / Edit environment variables). Now you should be able to run pip from the command line. Try installing a package:

pip install httpie

There you go (hopefully)!

@wim 2013-05-07 06:14:13

+1 great answer. what is a piece of cake on ubuntu was a world of pain on windows, the .exe installers made it all better.

@Matthieu Riegler 2014-02-24 16:24:01

Pip will be shipped with Python 3.4 legacy.python.org/dev/peps/pep-0453

@Pei 2014-06-26 20:07:01

After python get-pip.py, I also make a symlink from pip3 in /Library/Frameworks/Python.framework/Versions/3.3/bin (for example) to my system PATH, to make pip3 available on command line.

@lfx_cool 2014-08-02 11:25:18

By default, the commands pipX and pipX.Y will be installed on all platforms (where X.Y stands for the version of the Python installation), along with the pip Python package and its dependencies.

@treesAreEverywhere 2014-08-23 12:08:49

I just installed python 3.4.1 from scratch on windows 8. Where is pip? How can i start it?

@Rob Agar 2014-09-15 14:41:22

Ubuntu 14.04, just did apt-get install python3-dev, python 3.4 installed, no pip :(

@newguy 2014-12-08 05:48:36

I can install pip3.4 with Python 3.4 on CentOS 6.5. But I used the same method and failed to install pip3.4 on CentOS 7. Python3.4 is OK though.

@Robert Grant 2015-01-12 14:17:09

@treesAreEverywhere it'll be in your Python installation. Add the Python bin folder to your path.

@WoJ 2015-01-29 07:24:43

The version I just installed (Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32) does not have pip anywhere.

@abarnert 2015-05-17 10:18:43

This is not true: "And, alas for everyone using an earlier Python. There's no plan to ship Pip to you." pip is shipped with 2.7.9+ as well as 3.4.0+. Of course that doesn't help people on 2.6 or 3.2, but the majority of people who need to use an earlier Python than 3.4 need to use 2.7.

@Ani Menon 2016-11-27 19:03:59

To install pip, securely download get-pip.py.

Then run the following:

python get-pip.py

Be cautious if you're using a Python install that's managed by your operating system or another package manager. get-pip.py does not coordinate with those tools, and may leave your system in an inconsistent state.

Refer: PIP Installation

@Ari Pratomo 2016-08-03 10:51:54

if you're using python 3.4+

just type:

python3 -m pip

@Antoine 2016-12-13 00:32:50

Works for me thanks

@turiyag 2018-03-21 02:58:30

On CentOS:6 docker image: python3 -m pip /usr/bin/python3: No module named pip

@MaxiReglisse 2019-04-19 14:41:43

that did the trick for me, for portalocker: python3 -m pip install portalocker

@Dave Hylands 2016-02-23 18:15:23

python3 -m ensurepip

I'm not sure when exactly this was introduced, but it's installed pip3 for me when it didn't already exist.

@Antwane 2016-05-03 08:31:18

Thank you, this command pointed my mistake: I built python 3.5 without libssl-dev package, so PIP was not built

@not2qubit 2017-03-24 23:10:17

This also worked on cygwin! First update: pip2 install --upgrade pip and apt-cyg install python3. Then what you wrote and you've got pip3.

@turiyag 2018-03-21 02:59:52

This worked fantastically!

@Michael Lenzen 2013-07-08 00:17:44

Update 2015-01-20:

As per https://pip.pypa.io/en/latest/installing.html the current way is:

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

I think that should work for any version


Original Answer:

wget http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip

@MCP 2013-07-13 17:54:38

I think I've read about easy_install being depreciated due to insecure connections. I'd read up before using easy_install.

@Brian Burns 2014-04-08 18:33:29

Thanks, worked for me on Python 3.3.4

@newguy 2014-12-08 05:47:28

wget: unable to resolve host address ‘python-distribute.org’

@j3ffyang 2018-07-20 09:45:11

wget bootstrap.pypa.io/get-pip.py && python get-pip.py This works for me and upgrades pip3

@kevinarpe 2015-03-31 12:49:22

Assuming you are in a highly restricted computer env (such as myself) without root access or ability to install packages...

I had never setup a fresh/standalone/raw/non-root instance of Python+virtualenv before this post. I had do quite a bit of Googling to make this work.

  1. Decide if you are using python (python2) or python3 and set your PATH correctly. (I am strictly a python3 user.) All commands below can substitute python3 for python if you are python2 user.
  2. wget https://pypi.python.org/packages/source/v/virtualenv/virtualenv-x.y.z.tar.gz
  3. tar -xzvf virtualenv-x.y.z.tar.gz
  4. python3 virtualenv-x.y.z/virtualenv.py --python $(which python3) /path/to/new/virtualenv
  5. source /path/to/new/virtualenv/bin/activate
    • Assumes you are using a Bourne-compatible shell, e.g., bash
    • Brilliantly, this virtualenv package includes a standalone version of pip and setuptools that are auto-magically installed into each new virtualenv. This solves the chicken and egg problem.
    • You may want to create an alias (or update your ~/.bashrc, etc.) for this final command to activate the python virtualenv during each login. It can be a pain to remember all these paths and commands.
  6. Check your version of python now: which python3 should give: /path/to/new/virtualenv/bin/python3
  7. Check pip is also available in the virtualenv via which pip... should give: /path/to/new/virtualenv/bin/pip

Then... pip, pip, pip!

Final tip to newbie Pythoneers: You don't think you need virtualenv when you start, but you will be happy to have it later. Helps with "what if" installation / upgrade scenarios for open source / shared packages.

Ref: https://virtualenv.pypa.io/en/latest/installation.html

@silverdagger 2014-08-07 23:09:15

This is what I did on OS X Mavericks to get this to work.

Firstly, have brew installed

Install python 3.4

brew install python3

Then I get the latest version of distribute:

wget https://pypi.python.org/packages/source/d/distribute/distribute-0.7.3.zip#md5=c6c59594a7b180af57af8a0cc0cf5b4a

unzip distribute-0.7.3.zip
cd distribute-0.7.3
sudo setup.py install
sudo easy_install-3.4 pip
sudo pip3.4 install virtualenv
sudo pip3.4 install virtualenvwrapper

mkvirtualenv py3 

python --version
Python 3.4.1

I hope this helps.

@hamx0r 2015-10-21 01:15:08

This helped until the mkvirtualenv py3 line - on OS X El Capitan, i get a command not found error. Also, to actually use python 3 after using brew to install it, i have to run python3 rather than just python which still maps to python 2.7. are there different steps for El Capitan?

@silverdagger 2015-10-22 04:55:24

@hamx0r you would run python3 or you could symlink it:

@lfx_cool 2014-08-02 11:24:28

What’s New In Python 3.4

pip should always be available

By default, the commands pipX and pipX.Y will be installed on all platforms (where X.Y stands for the version of the Python installation), along with the pip Python package and its dependencies.

https://docs.python.org/3/whatsnew/3.4.html#whatsnew-pep-453

so if you have python 3.4 installed, you can just: sudo pip3 install xxx

@Water 2016-01-10 16:16:38

pip3 was not installed when I installed Python 3.4, I had to follow instructions here to get it.

@frank.liu 2014-04-12 03:49:03

Here is my way to solve this problem at ubuntu 12.04:

sudo apt-get install build-essential libncursesw5-dev libssl-dev libgdbm-dev libc6-dev libsqlite3-dev tk-dev

Then install the python3 from source code:

wget https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tar.xz
tar xvf Python-3.4.0.tar.xz
cd Python-3.4.0
./configure
make
make test
sudo make install

When you finished installing all of them, pip3 will get installed automatically.

@Mona Jalal 2016-08-04 22:04:53

ImportError: No module named 'pip' after I did all these for python3.4.1 from source off the original python website! Python 3.4.1 (default, Aug 4 2016, 16:56:02) [GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin

@The Demz 2013-12-02 10:40:53

If you use several different versions of python try using virtualenv http://www.virtualenv.org/en/latest/virtualenv.html#installation

With the advantage of pip for each local environment.

Then install a local environment in the current directory by:

virtualenv -p /usr/local/bin/python3.3 ENV --verbose

Note that you specify the path to a python binary you have installed on your system.

Then there are now an local pythonenvironment in that folder. ./ENV

Now there should be ./ENV/pip-3.3

use ./ENV/pip-3.3 freeze to list the local installed libraries.

use ./ENV/pip-3.3 install packagename to install at the local environment.

use ./ENV/python3.3 pythonfile.py to run your python script.

@moldovean 2013-09-27 21:35:37

For python3 try this:

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python

The good thing is that It will also detect what version of python you have (even if it's an environment of python in your custom location). After this you can proceed normally with (for example)

pip install numpy

source: https://pypi.python.org/pypi/setuptools/1.1.6#upgrading-from-setuptools-0-6

@Jonathan 2012-11-25 19:22:31

I was able to install pip for python 3 on Ubuntu just by running sudo apt-get install python3-pip.

@yoniLavi 2013-01-30 15:19:18

Then use pip-3.2 install (replace 3.2 with your version) to install the packages - also see stackoverflow.com/questions/10763440/…

@Dennis 2013-04-03 01:45:19

Unable to locate package python3-pip. Has it been renamed?

@Anonymous Coward 2013-07-10 14:23:14

Are you using Ubuntu 12.04 LTS? It's not available there.

@ehime 2013-09-27 20:52:56

+1 Confirmed working on ubuntu 13.04 after sudo apt-get install -y python3.3 and using type pip3

@William Patton 2015-05-04 17:18:47

I also just ran this on RPi and used it with sudo pip-3.2 install [packageName]

@zalpha314 2016-05-03 14:42:04

After you install python3-pip, if the package cannot be found, try python3 -m pip

@Xaser 2016-09-08 21:58:48

seems to be just pip3 now

@Federico Gallo 2016-11-28 01:53:28

Thabk you! @yoniLavi and thanks for the link also. Lot of people saying virtualenv/..wrapper but these tools are installed via pip.. So for those who doesn't know (like me) if it's irrelevant the way you install pip we've got here an obvious question. I will use pip3 by now thank you

@Mike Palmice 2017-10-10 19:14:20

pip3 is works, but I had to use sudo pip3 install (for pandas at least)

Related Questions

Sponsored Content

15 Answered Questions

[SOLVED] What are metaclasses in Python?

27 Answered Questions

[SOLVED] How do I list all files of a directory?

  • 2010-07-08 19:31:22
  • duhhunjonn
  • 3126819 View
  • 3420 Score
  • 27 Answer
  • Tags:   python directory

17 Answered Questions

[SOLVED] How to make a chain of function decorators?

56 Answered Questions

[SOLVED] Calling an external command in Python

44 Answered Questions

[SOLVED] How to merge two dictionaries in a single expression?

21 Answered Questions

[SOLVED] How do I install pip on macOS or OS X?

13 Answered Questions

[SOLVED] Iterating over dictionaries using 'for' loops

52 Answered Questions

[SOLVED] Upgrading all packages with pip

  • 2010-04-27 09:23:25
  • thedjpetersen
  • 944781 View
  • 1648 Score
  • 52 Answer
  • Tags:   python pip

25 Answered Questions

[SOLVED] How do I parse a string to a float or int in Python?

34 Answered Questions

[SOLVED] How do I install pip on Windows?

Sponsored Content