Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

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?

@deamon: you may want to reconsider the accepted answer as distribute is deprecated and another answer solves the problem. WoJ Jan 29, 2015 at 7:59

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.

It's worth noting that the distribute install script has a --user flag that will install distribute just for the current user. – talljosh Apr 30, 2012 at 4:02 distribute has since been superseded by [setup_tools] (pypi.python.org/pypi/setuptools). – wegry Aug 3, 2013 at 22:07 From pythonhosted.org/distribute: "Distribute is a deprecated fork of the Setuptools project.". It is abandoned and not being maintained anymore. – WoJ Jan 29, 2015 at 7:22 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. – james-see Aug 28, 2015 at 12:35 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. – user1214678 Apr 9, 2016 at 18:54 Then use pip-3.2 install (replace 3.2 with your version) to install the packages - also see stackoverflow.com/questions/10763440/… – yoniLavi Jan 30, 2013 at 15:19 +1 Confirmed working on ubuntu 13.04 after sudo apt-get install -y python3.3 and using type pip3 – ehime Sep 27, 2013 at 20:52

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)!

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. – user2558887 Jun 26, 2014 at 20:07 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. – lfx_cool Aug 2, 2014 at 11:25 I just installed python 3.4.1 from scratch on windows 8. Where is pip? How can i start it? – treesAreEverywhere Aug 23, 2014 at 12:08 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. – newguy Dec 8, 2014 at 5:48 Don't forget to use "python3" anywhere you see a command solution that uses "python ..." if your alias is set up to use python3 instead of python. Didn't click for me for a good couple hours – MayTheSForceBeWithYou Jul 18, 2021 at 20:56

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
                I think I've read about easy_install being depreciated due to insecure connections.  I'd read up before using easy_install.
– MCP
                Jul 13, 2013 at 17:54
                wget bootstrap.pypa.io/get-pip.py && python get-pip.py  This works for me and upgrades pip3
– j3ffyang
                Jul 20, 2018 at 9:45

To install packages in Python always follow these steps:

  • If the package is for python 2.x: sudo python -m pip install [package]
  • 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/Virtual Envs

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

  • To install for python3.6: sudo python3 -m pip install [package]
  • 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? Do one of the following:

    ~ » python3 -c "import sys; print(sys.version)"
    3.9.5 (default, Nov 18 2021, 16:00:48)
    

    your python3 command spawns:

    ~ » python3
    Python 3.9.5 (default, Nov 18 2021, 16:00:48) 
    [GCC 10.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    

    Notice python 3.9.5 in the second line.

    or say you are using virtual env and see where your python points to:

    » which python
    /home/ganesh/os/np-test/bin/python
    

    Note 2

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

    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. – Christopher Hunter Oct 16, 2018 at 21:41 No idea why this answer is upvoted. Question is regarding how to install pip and not how to install packages via pip. As a side-note, using sudo to install packages via pip is asking for dependency hell. Using pip you probably want to scope to your account or to a virtual environment. – olivervbk Jun 29 at 3:35 Thank you, this command pointed my mistake: I built python 3.5 without libssl-dev package, so PIP was not built – Antwane May 3, 2016 at 8:31 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. – not2qubit Mar 24, 2017 at 23:10 This just works! Just tested on python3.11 sudo dnf install -y python311 update-alternatives --set python /usr/bin/python3.11 update-alternatives --set python3 /usr/bin/python3.11 python3 -m ensurepip – Berk Soysal Sep 8 at 13:30
    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 python@2 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 python@3 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>.

    This is the one-liner I copy-and-paste:

    curl https://bootstrap.pypa.io/get-pip.py | python3
    

    Alternate:

    curl -L get-pip.io | python3
    

    From Installing with get-pip.py:

    To install pip, securely download get-pip.py by following this link: get-pip.py. Alternatively, use curl:

    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    

    Then run the following command in the folder where you have downloaded get-pip.py:

    python get-pip.py
    

    Warning: Be cautious if you are using a Python install that is 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.

    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
    

    Please follow below steps to install python 3 with pip:

    Step 1 : Install Python from download here

    Step 2 : you’ll need to download get-pip.py

    Step 3 : After download get-pip.py , open your commant prompt and go to directory where your get-pip.py file saved .

    Step 4 : Enter command python get-pip.py in cmd.

    Step 5 : Pip installed successfully , Verify pip installation by type command in cmd pip --version

    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

    ./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.

    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 test
    sudo make install
    

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

    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 – Mona Jalal Aug 4, 2016 at 22:04

    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.

    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? – hamx0r Oct 21, 2015 at 1:15

    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

    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.

  • 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.
  • wget https://pypi.python.org/packages/source/v/virtualenv/virtualenv-x.y.z.tar.gz
  • tar -xzvf virtualenv-x.y.z.tar.gz
  • python3 virtualenv-x.y.z/virtualenv.py --python $(which python3) /path/to/new/virtualenv
  • 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.
  • Check your version of python now: which python3 should give: /path/to/new/virtualenv/bin/python3
  • 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

    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

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

    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

    pip3 was not installed when I installed Python 3.4, I had to follow instructions here to get it. – Water Jan 10, 2016 at 16:16

    If you used the command "python get-pip.py", you should have the 'pip' function for Python3. However, 'pip' for Python2 might still be present. In my case I uninstalled 'pip', which removed it from Python2.

    After that I ran "python get-pip.py" again. (Make sure that 'get-pip.py' is saved in the same folder as Python3.) The final step was to add the directory with 'pip' command to $PATH. That solved it for me.

    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

    just write this : pip3 install {name of package}

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

    You can also do this in PowerShell of course. Also the '-32' refers to the 32bit version of Python. So for me the path was .\Python37\scripts\ as I was targeting the 64bit version of Python. – Nicholas Leader Jul 26, 2019 at 16:31 This doesn't answer the question asked, which was about how to install pip, not how to install stuff with pip. – Mark Amery Jan 18, 2020 at 22:58

    =>Easy way to install Python any version on Ubuntu 18.04 or Ubuntu 20.04 follow these steps:-

    Step 1: Update Local Repositories:-

    sudo apt update

    Step 2: Install Supporting Software:-

    sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

    Step3: Create directory on your home directory To download the newest release of Python Source Code, navigate to the /python-source-files directory and use the wget command:-

    mkdir python-source-files

    Step 4: Download the Latest Version of Python Source Code:-

    wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz

    "you can change python version by just modifies this:-"3.7.5" with the version you want example:-"3.5.2"

    Step 5: Extract Compressed Files:-

    tar –xf Python-3.7.5.tgz tar xvzf Python-3.7.5.tgz

    Step 6: Test System and Optimize Python:-

    cd python-3.7.5 or your version of python.

    Step 7: Now configure(Using the ––optimization option speeds code execution by 10-20%.):-

    ./configure ––enable–optimizations

    OR you can also do this also if you facing ssl error:-

    ./configure --with-openssl

    Step 8: Install a Second Instance of Python:-

    sudo make altinstall

    "It is recommended that you use the altinstall method. Your Ubuntu system may have software packages dependent on Python 2.x.

    If you want to Overwrite Default Python Installation/version:-

    sudo make install"

    Step 9:Now check Python Version:-

    python3 ––version

    Step 10: To install pip for python3 just go with this command:-

    sudo apt-get install python3-pip

    "easy way of installing" and you recommend building the python source? way easier is to use the existing python installation and grab the get-pip.py file. – olivervbk Jun 29 at 3:36