2621

pip is a replacement for easy_install. But should I install pip using easy_install on Windows? Is there a better way?

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
mit
  • 10,441
  • 7
  • 43
  • 71
  • 23
    From PyCon 2011: http://blip.tv/pycon-us-videos-2009-2010-2011/pycon-2011-reverse-engineering-ian-bicking-s-brain-inside-pip-and-virtualenv-4899496 The dirty secret is that pip is a wrapper for easy_install :) – Civilian Sep 23 '11 at 23:18
  • 10
    Like how apt-get uses dpkg at the core - but it doesn't make it any less useful! – Liam Dawson Jun 15 '12 at 10:33
  • 10
    Ruby ships with Gem and Nodejs with Npm, giving users full-featured package management out the box. I for one am envious. http://stackoverflow.com/a/11453972/284795 – Colonel Panic Sep 18 '12 at 16:13
  • As an extra comment - open the command prompt with administrator rights. If you use UAC (and you probably should be) you'll need admin rights in order for easy_install to install pip. – Mike 'Pomax' Kamermans Feb 20 '13 at 15:40
  • 3
    This is the most popular question with the Windows tag on Stackoverflow. I'm so glad pip ships with Python now. – Cody Piersall Sep 25 '14 at 13:35
  • 3
    for recent versions of python2 and python3 you can just use `python -m ensurepip` – ccpizza Oct 06 '17 at 06:20
  • 1
    On Windows you could use Anaconda installer instead of pip –  Aug 14 '18 at 22:33
  • If you install Python you already have "pip". You use "pip" to install packages for python. You use "pip" in Command Prompt. For example I wan't to install pygame I write there: "pip install pygame". Hope this is a good answer and solved your problem – RMR_MD May 17 '20 at 16:47

40 Answers40

1881

Python 2.7.9+ and 3.4+

Good news! Python 3.4 (released March 2014) and Python 2.7.9 (released December 2014) ship 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 from using community libraries by the prohibitive difficulty of setup. In shipping with a package manager, Python joins Ruby, Node.js, Haskell, Perl, Go—almost every other contemporary language with a majority open-source community. Thank you, Python.

If you do find that pip is not available when using Python 3.4+ or Python 2.7.9+, simply execute e.g.:

py -3 -m ensurepip

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

And, alas for everyone using Python 2.7.8 or earlier (a sizable portion of the community). There's no plan to ship Pip to you. Manual instructions follow.

Python 2 ≤ 2.7.8 and Python 3 ≤ 3.3

Flying in the face of its 'batteries included' motto, Python ships without a package manager. To make matters worse, Pip was—until recently—ironically difficult to install.

Official instructions

Per https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip:

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 Start a Command Prompt as an Administrator (Microsoft TechNet).

This installs the pip package, which (in Windows) contains ...\Scripts\pip.exe that path must be in PATH environment variable to use pip from the command line (see the second part of 'Alternative Instructions' for adding it to your PATH,

Alternative instructions

The official documentation tells users to install Pip and each of its dependencies from source. That's tedious for the experienced and prohibitively difficult for newbies.

For our sake, Christoph Gohlke prepares Windows installers (.msi) for popular Python packages. He builds installers for all Python versions, both 32 and 64 bit. You need to:

  1. Install setuptools
  2. Install pip

For me, this installed Pip at C:\Python27\Scripts\pip.exe. Find pip.exe on your computer, then add its folder (for example, 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)! Solutions for common problems are given below:

Proxy problems

If you work in an office, you might be behind an HTTP proxy. If so, set the environment variables http_proxy and https_proxy. Most Python applications (and other free software) respect these. Example syntax:

http://proxy_url:port
http://username:password@proxy_url:port

If you're really unlucky, your proxy might be a Microsoft NTLM proxy. Free software can't cope. The only solution is to install a free software friendly proxy that forwards to the nasty proxy. http://cntlm.sourceforge.net/

Unable to find vcvarsall.bat

Python modules can be partly written in C or C++. Pip tries to compile from source. If you don't have a C/C++ compiler installed and configured, you'll see this cryptic error message.

Error: Unable to find vcvarsall.bat

You can fix that by installing a C++ compiler such as MinGW or Visual C++. Microsoft actually ships one specifically for use with Python. Or try Microsoft Visual C++ Compiler for Python 2.7.

Often though it's easier to check Christoph's site for your package.

Ninjakannon
  • 3,283
  • 5
  • 42
  • 65
Colonel Panic
  • 119,181
  • 74
  • 363
  • 435
  • I installed distribute and pip as above but now I get "error: Unable to find vcvarsall.bat" when I try to use pip. – marshall May 14 '13 at 20:07
  • Wasn't `distribute` deprecated when `setuptools` arrived? – HelpingHand Jun 12 '13 at 16:50
  • From what I read [here](http://www.tylerbutler.com/2012/05/how-to-install-python-pip-and-virtualenv-on-windows-with-powershell/), `PIP` requires `distribute` (or at least is no good without it). – HelpingHand Jun 12 '13 at 16:54
  • distribute does not seem to be available anymore at url noted (http://www.lfd.uci.edu/~gohlke/pythonlibs/#distribute). – user1063287 Jun 15 '13 at 10:00
  • for anyone wanting to know how to install distribute on windows, these were my steps (as installer above isn't available at the moment): `start>accessories>windows powershell>windows powershell (right click and run as administrator)` and then in powershell type `PS C:\> python distribute_setup.py`. when i tried to do this in standard `cmd` shell, it wouldn't allow me to write the files to disk, hence why i tried powershell as administrator and it worked. – user1063287 Jun 15 '13 at 10:33
  • note if you already have strawberry perl installed you won't be able to run `pip install ` until you've either removed strawberry perl or manually enter the path to python's pip! – Mike McMahon Jun 27 '13 at 21:57
  • 3
    @MikeMcMahon that happened to me too. Put Python before Perl in your path, so typing `pip` gets you the Python package manager. – Colonel Panic Jun 27 '13 at 22:00
  • @ColonelPanic thanks for that bit of info! I wonder though, will that cause any issues with Stawberry Perl? – Mike McMahon Jun 28 '13 at 17:18
  • windows setuptools install https://pypi.python.org/pypi/setuptools#windows and pip http://www.pip-installer.org/en/latest/installing.html#install-or-upgrade-pip – JuanPablo Nov 04 '13 at 17:58
  • 6
    I didn't have to do any of this, I just followed the instructions on http://www.pip-installer.org/en/latest/installing.html (basically you just write "python ez_setup.py" and then "python get-pip.py") – CaptainCodeman Nov 10 '13 at 19:50
  • Go to http://www.pip-installer.org/en/latest/installing.html run "python get-pip.py". It installed setuptools and pip in <10 seconds, no questions. C:\Python27\Scripts\pip.exe – Curtis Yallop Mar 11 '14 at 16:57
  • How do you install pip on windows for Jython? I downloading the installed and it isn't able to install on jython. I am using jython2.7b2 – pitchblack408 Aug 27 '14 at 07:02
  • 1
    Good news for those who run into vsvarsall.bat error message with Python 2.7! http://aka.ms/vcpython27 – Pavel Minaev Oct 03 '14 at 22:38
  • 3
    This is probably a dumb question. I entered python get-pip.py on a windows prompt but get "python is not recognized as an internal or external command, operable program or batch file." Am I doing something wrong? I have Python 2.7.8 installed. Do I need to change the directory? Thanks. – Andrew Jul 14 '15 at 16:39
  • 2
    @Andrew you need add eg. `C:\Python27` to the system PATH (which is where the command prompt looks for programs), follow http://superuser.com/a/143121/62691 – Colonel Panic Jul 14 '15 at 17:47
  • That worked. It installed pip here: C:\Python27\ArcGIS10.3\Lib\site-packages. In Windows prompt I get 'pip is not a recognized as internal....." when I write 'pip help'. I tried adding C:\Python27 and C:\Python27\ArcGIS10.3\Lib\site-packages to the system PATH. – Andrew Jul 16 '15 at 14:38
  • I'm reallly confused. I have python 2.7.10 and I get 'No module named pip' when I try to install something using 'python -m pip install arbitrary_mod_name' I also have no Scripts folder?? – Josie Thompson Aug 21 '15 at 19:02
  • 13
    To start the "build in" pip you have to use `python -m pip` on windows! – powtac Mar 06 '16 at 13:35
  • `'pip' is not recognized as an internal or external command, operable program or batch file.` I have Python 3.5 and I already ran `python -m pip`. How do I use the pip command? – Kyle Delaney Dec 24 '16 at 23:26
  • 1
    My gotcha - I was running Python 3.2 which is not officially supported, but an alternative get-pip file is available at https://bootstrap.pypa.io/3.2/get-pip.py – Parrybird Jun 29 '17 at 07:17
  • Only the 32bit python 2.7 installer for windows worked for me. – Alex - GlassEditor.com Aug 21 '18 at 00:57
  • 1
    Note for others possibly running into the issue I did: When attempting to use the built-in pip on windows 10, on some systems even running "python -m pip" won't work - it will run but produce no output (same with python3 instead of python). The solution is to run "py -m pip". – barteks2x Mar 06 '20 at 10:37
  • @CaptainCodeman That is until recently. Before, it was ridiculously hard to install pip. I for one can remember. – 10 Rep May 28 '20 at 21:58
  • i used chocolatey to install on windows. I am new to this windows as dev environment stuff. I looked at PATH and the python isntall. pip was missing and so was easy_install. Win 10 home, i was able to do the `py -3 -m ensurepip` however it installs as pip3. Now I need to figure out alias on windows. thanks – Abhishek Dujari Aug 01 '20 at 12:43
306

-- Outdated -- use distribute, not setuptools as described here. --
-- Outdated #2 -- use setuptools as distribute is deprecated.

As you mentioned pip doesn't include an independent installer, but you can install it with its predecessor easy_install.

So:

  1. Download the last pip version from here: http://pypi.python.org/pypi/pip#downloads
  2. Uncompress it
  3. Download the last easy installer for Windows: (download the .exe at the bottom of http://pypi.python.org/pypi/setuptools ). Install it.
  4. copy the uncompressed pip folder content into C:\Python2x\ folder (don't copy the whole folder into it, just the content), because python command doesn't work outside C:\Python2x folder and then run: python setup.py install
  5. Add your python C:\Python2x\Scripts to the path

You are done.

Now you can use pip install package to easily install packages as in Linux :)

danio
  • 7,981
  • 5
  • 42
  • 54
Adrián Deccico
  • 4,825
  • 2
  • 19
  • 29
  • 1
    When run the command "python setup.py install", if you got "error: pip.egg-info\PKG-INFO: Permission denied", then try to remove the read only attribute on the uncompressed pip directory. – Yoo Matsuo May 05 '11 at 04:04
  • 13
    If you install a 64-bit version of python, setuptools will not detect your python executable. I found some binaries here that will, though (unofficial): http://www.lfd.uci.edu/~gohlke/pythonlibs/ – Chris Jun 27 '11 at 17:18
  • Once I've installed `pip` using `easy_install` can I remove `setuptools` by `pip uninstall setuptools`? Is this okay or would it lead to issues later on? – Mridang Agarwalla Aug 20 '11 at 07:40
  • For Win 64, you can download http://peak.telecommunity.com/dist/ez_setup.py. Open pythonwin as Adminstrator and execute it. After that open the windows command line also as Admin and do step 4 and 5. – powtac Dec 13 '11 at 15:09
  • I did this and then tried to use "pip install package" at the DOS prompt and got "pip is not recognized as an internal or external command, operable program or batch file." – Chelonian Mar 23 '12 at 02:20
  • @Chelonian seems like pip command is not in the path. Check step 5 and remember you have to start a new command window after modifying the path. Also restarting your computer will help. – Adrián Deccico Mar 27 '12 at 02:40
  • On Windows 64-bit, you have to fix the Python installation. Copy all of the `HKEY_LOCAL_MACHINE\SOFTWARE\Python` registry key into the `HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node` key. You can do this by exporting the `Python` key, modifying the paths, and merging it back in. – Elliot Cameron Jul 05 '12 at 16:15
  • `go to the uncompressed pip directory and: python setup.py install` where to type this command `python setup.py install` – Jitendra Vyas Aug 06 '12 at 17:57
  • You do not need to copy the pip folder content into your c:\python2x folder as described in step 4. You can just add c:\python2x to your PATH environment variable or otherwise just use the full path when running python. – Derek Veit Nov 09 '12 at 23:57
  • 2
    As an alternative to step 4, simply run setup.py from wherever pip was dowloaded to e.g. from firefox C:\Users\Tony\Downloads\pip-1.2.1\pip-1.2.1 – Pyderman Feb 28 '13 at 16:47
  • 4
    This method still works very well as of 02/2016 to install pip (and then nose!) on Python 2.6 on Windows. Indeed, using Gohlke's binaries is no longer an option since he replaced them all by wheels. – gaborous Jan 30 '16 at 16:28
221

2014 UPDATE:

1) If you have installed Python 3.4 or later, pip is included with Python and should already be working on your system.

2) If you are running a version below Python 3.4 or if pip was not installed with Python 3.4 for some reason, then you'd probably use pip's official installation script get-pip.py. The pip installer now grabs setuptools for you, and works regardless of architecture (32-bit or 64-bit).

The installation instructions are detailed here and involve:

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

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

python get-pip.py

To upgrade an existing setuptools (or distribute), run pip install -U setuptools

I'll leave the two sets of old instructions below for posterity.

OLD Answers:

For Windows editions of the 64 bit variety - 64-bit Windows + Python used to require a separate installation method due to ez_setup, but I've tested the new distribute method on 64-bit Windows running 32-bit Python and 64-bit Python, and you can now use the same method for all versions of Windows/Python 2.7X:

OLD Method 2 using distribute:

  1. Download distribute - I threw mine in C:\Python27\Scripts (feel free to create a Scripts directory if it doesn't exist.
  2. Open up a command prompt (on Windows you should check out conemu2 if you don't use PowerShell) and change (cd) to the directory you've downloaded distribute_setup.py to.
  3. Run distribute_setup: python distribute_setup.py (This will not work if your python installation directory is not added to your path - go here for help)
  4. Change the current directory to the Scripts directory for your Python installation (C:\Python27\Scripts) or add that directory, as well as the Python base installation directory to your %PATH% environment variable.
  5. Install pip using the newly installed setuptools: easy_install pip

The last step will not work unless you're either in the directory easy_install.exe is located in (C:\Python27\Scripts would be the default for Python 2.7), or you have that directory added to your path.

OLD Method 1 using ez_setup:

from the setuptools page --

Download ez_setup.py and run it; it will download the appropriate .egg file and install it for you. (Currently, the provided .exe installer does not support 64-bit versions of Python for Windows, due to a distutils installer compatibility issue.

After this, you may continue with:

  1. Add c:\Python2x\Scripts to the Windows path (replace the x in Python2x with the actual version number you have installed)
  2. Open a new (!) DOS prompt. From there run easy_install pip
Community
  • 1
  • 1
AndrewPK
  • 5,300
  • 2
  • 29
  • 35
  • 4
    So the install is easyinstall, then pip, then virtualenv, then virtualenvwrapper , then configure independents environments. with script modif in the middle for dealing with proxies... aaarrrgg – nicolas Aug 27 '12 at 09:54
  • @nicolas Yeah, easyinstall is just an outdated interface to setuptools. Pip is awesome, and virtualenv offers the kind of control that you don't get in many other languages without WAY more hackish tactics; perl being the only comparable exception. Ruby has gemsets, but in order to easily swap out Rubies, it's recommended to use either rbenv or rvm - both of which have always felt somewhat hackish to me (though they work beautifully once set up properly). – AndrewPK Oct 16 '12 at 19:30
  • 2
    This exact procedure is automated by [pip for windows](https://sites.google.com/site/pydatalog/python/pip-for-windows). – Pierre Carbonnelle Dec 24 '12 at 21:40
  • 2
    +1, help note for noobs like me: don't type "python2x" literally in the windows path environment variable. Replace x with the python version you have, e.g. python27 – dbjohn Dec 29 '12 at 22:11
  • Id like to note, i had to use 'python -m pip' to use the module in windows. – Mouseroot May 20 '14 at 02:02
210

2016+ Update:

These answers are outdated or otherwise wordy and difficult.

If you've got Python 3.4+ or 2.7.9+, it will be installed by default on Windows. Otherwise, in short:

  1. Download the pip installer: https://bootstrap.pypa.io/get-pip.py
  2. If paranoid, inspect file to confirm it isn't malicious (must b64 decode).
  3. Open a console in the download folder as Admin and run get-pip.py. Alternatively, right-click its icon in Explorer and choose the "run as Admin...".

The new binaries pip.exe (and the deprecated easy_install.exe) will be found in the "%ProgramFiles%\PythonXX\Scripts" folder (or similar), which is often not in your PATH variable. I recommend adding it.

Gringo Suave
  • 25,443
  • 6
  • 77
  • 69
  • MD5 checksums of the files: get-pip.py=60a3d165e93999895e26b96681b65090 setuptools-1.3.2.tar.gz=441f2e58c0599d31597622a7b9eb605f – Joris Nov 16 '13 at 10:49
  • 1
    As of pip 1.5.1 (Jan 2014) ez_setup/setuptools/distribute isn't needed ahead of time. If needed get-pip will acquire the requirements as well as pip itself. – matt wilkie Feb 04 '14 at 20:08
  • 1
    Good overview of python packaging past and present as of Aug 2016: https://glyph.twistedmatrix.com/2016/08/python-packaging.html – Dylan Hogg Aug 14 '16 at 12:54
  • @Gringo the get-pip.py throws "RuntimeError: Python 3.4 or later is required". – Gaurav Apr 25 '19 at 10:02
  • @gaurav What Python version do you have? Latest pip may not support 2.6 or 3.0 to 3.3, as those are ancient. Perhaps an older version of pip would. – Gringo Suave Apr 25 '19 at 21:28
  • @GringoSuave python 3.3 – Gaurav Apr 26 '19 at 07:22
50

Python 3.4, which was released in March 2014, comes with pip included:
http://docs.python.org/3.4/whatsnew/3.4.html
So, since the release of Python 3.4, the up-to-date way to install pip on Windows is to just install Python.

The recommended way to use it is to call it as a module, especially with multiple python distributions or versions installed, to guarantee packages go to the correct place:
python -m pip install --upgrade packageXYZ

https://docs.python.org/3/installing/#work-with-multiple-versions-of-python-installed-in-parallel

matth
  • 2,296
  • 2
  • 16
  • 37
  • 2
    Note that it also applies to Python 2.7.9 – Roberto Dec 08 '15 at 15:25
  • Python 2.x is legacy, Python 3.x is the present and future of the language, according to [Python2orPython3](https://wiki.python.org/moin/Python2orPython3) – matth Dec 09 '15 at 09:18
  • Hmm I installed Python 3.4.4 and I could find pip3.exe following the path in this answer, but in cmd `pip` is still not recognized. Can anyone help? – annena Jan 20 '16 at 09:30
  • In a command prompt, cd to the directory where `pip3.exe` resides and execute for example `pip3 install -U sphinx`. – matth Jan 20 '16 at 11:24
  • Makes no sense. I installed Python 3.5.1 and still cannot run pip. – IgorGanapolsky Mar 21 '16 at 04:22
  • 6
    @IgorGanapolsky New versions of Python come with pip installed as a module, and not as an installed executable (at least at the path listed). With Windows 10 and Python 3.6.1, I used `py -m pip install xxx` from the Windows command-prompt successfully. – jkt123 May 19 '17 at 13:13
  • It is 2019 and i can confirm the solution by @jkt123 works on windows 10 with python 3.7. – Ivana Jun 20 '19 at 12:47
45

When I have to use Windows, I use ActivePython, which automatically adds everything to your PATH and includes a package manager called PyPM which provides binary package management making it faster and simpler to install packages.

pip and easy_install aren't exactly the same thing, so there are some things you can get through pip but not easy_install and vice versa.

My recommendation is that you get ActivePython Community Edition and don't worry about the huge hassle of getting everything set up for Python on Windows. Then, you can just use pypm.

In case you want to use pip you have to check the PyPM option in the ActiveState installer. After installation you only need to logoff and log on again, and pip will be available on the commandline, because it is contained in the ActiveState installer PyPM option and the paths have been set by the installer for you already. PyPM will also be available, but you do not have to use it.

Community
  • 1
  • 1
Rafe Kettler
  • 69,672
  • 18
  • 145
  • 147
  • 4
    It must be noted that ActivePython also includes pip and easy_install. PyPM is a binary package manger, while pip/easy_install are, essentially, source package managers. See http://code.activestate.com/help/faq/#how-is-pypm-related-to-pip-and-easy_install – Sridhar Ratnakumar Feb 21 '11 at 18:08
  • @Rafe Kettlet - When I try to install pip in Activepython it gives this error – Jitendra Vyas Aug 06 '12 at 18:24
  • 1
    @Jitendra - ActivePython already installs pip for you, so there is no need to install it again afterwards. – mit May 31 '13 at 07:39
  • This is really the only **SANE** solution on windows. Not because of `PyPM`, but because it comes with `pip` and adds things automatically to the `PATH`. – Dave Halter Sep 10 '13 at 08:46
  • I can only support this solution, happily used ActivePython for years. – Dr. Jan-Philip Gehrcke Feb 06 '14 at 09:22
40

The up-to-date way is to use Windows' package manager Chocolatey.

Once this is installed, all you have to do is open a command prompt and run the following the three commands below, which will install Python 2.7, easy_install and pip. It will automatically detect whether you're on x64 or x86 Windows.

cinst python
cinst easy.install
cinst pip

All of the other Python packages on the Chocolatey Gallery can be found here.

Philipp Gayret
  • 4,238
  • 1
  • 24
  • 33
Martin Redola
  • 417
  • 4
  • 2
  • And if python is already installed? This caused me nightmares. With python already installed via other means and trying cinst pip just game me errors. – DevPlayer Apr 17 '13 at 08:20
  • 9
    Chocolatey doesn't seem very robust especially wrt. dependencies. `cinst pip` at the time of writing just assumes easy_install has been installed, which is not necessarily the case. – fatuhoku Oct 23 '13 at 10:48
  • I've edited the question, to make it work you'll need to have easy_install before you get pip, you can just do `cinst easy.install` – Philipp Gayret Jan 16 '14 at 12:23
  • I had trouble with this at first. I think you need to make sure you: 1: Setup your environment path: http://stackoverflow.com/a/6318188/1674958 2: Restart your command prompt after each command if you run into issues. – drobison Apr 28 '14 at 00:00
  • 2
    Just tried it. "cinst easy.install" fails but "cinst pip" installs easy.install. BTW, Windows 10. – Kevin Driedger Jan 28 '16 at 04:02
  • @Philipp If you run `cinst pip`, it will automatically invoke **easy.install** – IgorGanapolsky Mar 21 '16 at 04:28
  • Just installed 'python3' using chocolatery and it included pip by default. – Lars Jun 10 '18 at 11:29
33

Update March 2015

Python 2.7.9 and later (on the Python 2 series), and Python 3.4 and later include pip by default, so you may have pip already.

If you don't, run this one line command on your prompt (which may require administrator access):

python -c "exec('try: from urllib2 import urlopen \nexcept: from urllib.request import urlopen');f=urlopen('https://bootstrap.pypa.io/get-pip.py').read();exec(f)"

It will install pip. If Setuptools is not already installed, get-pip.py will install it for you too.

As mentioned in comments, the above command will download code from the Pip source code repository at GitHub, and dynamically run it at your environment. So be noticed that this is a shortcut of the steps download, inspect and run, all with a single command using Python itself. If you trust Pip, proceed without doubt.

Be sure that your Windows environment variable PATH includes Python's folders (for Python 2.7.x default install: C:\Python27 and C:\Python27\Scripts, for Python 3.3x: C:\Python33 and C:\Python33\Scripts, and so on).

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Fernando Macedo
  • 2,418
  • 1
  • 22
  • 25
  • This should work, but it is worth noting that this could be extremely dangerous if one doesn't have the expertise or bother to inspect the url-file before executing such a command. – Gringo Suave Mar 29 '13 at 21:48
  • I think the simplicity is worth the risk. We are talking about a hack at python-distribute.org? There is a similar approach with [sublime package control](http://wbond.net/sublime_packages/package_control/installation). – Fernando Macedo Apr 01 '13 at 20:08
  • 2
    Yes, I have checked the distribute URL and it is ok (for now at least). The problem is in the general case where the inexperienced run remote executables on recommendation from a forum. It should come at least with a minimal warning. – Gringo Suave Apr 03 '13 at 07:46
  • I agree with you, the real issue is for who execute arbitrary code after read a post. The question is: can you trust me? I'll update the answer to notify the flow of actions being executed. I think that up/down votes can be used as "trust filter" too. – Fernando Macedo Apr 03 '13 at 17:36
  • Here's a pure python adaptation of *@h--n* [answer which uses curl](http://stackoverflow.com/a/15626900/14420), and the urlib example above by *Fernando*. It attempts to adapt to py2 or 3 and issues a usage warning about executing arbitrary code: https://gist.github.com/maphew/5393935 – matt wilkie Apr 16 '13 at 07:15
  • as of pip 1.5.1 `distribute_setup` is no longer required. So now the answer is just *"download get-ip.py and run `python get-pip.py`"* – matt wilkie Feb 03 '14 at 19:43
  • On python 3.3, it throws "RuntimeError: Python 3.4 or later is required" – Gaurav Apr 25 '19 at 10:06
26

Installers

I've built Windows installers for both distribute and pip here (the goal being to use pip without having to either bootstrap with easy_install or save and run Python scripts):

On Windows, simply download and install first distribute, then pip from the above links. The distribute link above does contain stub .exe installers, and these are currently 32-bit only. I haven't tested the effect on 64-bit Windows.

Building on Windows

The process to redo this for new versions is not difficult, and I've included it here for reference.

Building distribute

In order to get the stub .exe files, you need to have a Visual C++ compiler (it is apparently compilable with MinGW as well)

hg clone https://bitbucket.org/tarek/distribute
cd distribute
hg checkout 0.6.27
rem optionally, comment out tag_build and tag_svn_revision in setup.cfg
msvc-build-launcher.cmd
python setup.py bdist_win32
cd ..
echo build is in distribute\dist

Building pip

git clone https://github.com/pypa/pip.git
cd pip
git checkout 1.1
python setup.py bdist_win32
cd ..
echo build is in pip\dist
David Fraser
  • 4,330
  • 35
  • 50
  • Ah, I missed that there's a `launcher.c` that needs manual compiling... adjusted and rebuilt `distribute` - that does mean that this is `win32`-only... – David Fraser Jul 03 '12 at 13:49
22

The following works for Python 2.7. Save this script and launch it:

https://raw.github.com/pypa/pip/master/contrib/get-pip.py

Pip is installed, then add the path to your environment :

C:\Python27\Scripts

Finally

pip install virtualenv

Also you need Microsoft Visual C++ 2008 Express to get the good compiler and avoid these kind of messages when installing packages:

error: Unable to find vcvarsall.bat

If you have a 64-bit version of Windows 7, you may read 64-bit Python installation issues on 64-bit Windows 7 to successfully install the Python executable package (issue with registry entries).

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Kuruwan
  • 54
  • 1
  • 8
21

For the latest Python download - I have Python 3.6 on Windows. You don't have to wonder. Everything you need is there. Take a breath, and I will show you how to do it.

  1. Make sure where you install Python. For me, it was in the following directory

    Enter image description here

    Now, let’s add the Python and pip into environment variable path settings if you are on Windows, so that typing pip or python anywhere call python or pip from where they are installed.

    So, PIP is found under the folder in the above screen "SCRIPTS" Let's add Python and PIP in the environment variable path.

    Enter image description here

    Almost done. Let's test with CMD to install the google package using pip.

     pip install google
    

    Enter image description here

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Daniel Adenew
  • 6,825
  • 6
  • 48
  • 70
18

To install pip globally on Python 2.x, easy_install appears to be the best solution as Adrián states.

However the installation instructions for pip recommend using virtualenv since every virtualenv has pip installed in it automatically. This does not require root access or modify your system Python installation.

Installing virtualenv still requires easy_install though.

2018 update:

Python 3.3+ now includes the venv module for easily creating virtual environments like so:

python3 -m venv /path/to/new/virtual/environment

See documentation for different platform methods of activating the environment after creation, but typically one of:

$ source <venv>/bin/activate 

C:\> <venv>\Scripts\activate.bat
Dylan Hogg
  • 2,373
  • 25
  • 25
17

To use pip, it is not mandatory that you need to install pip in the system directly. You can use it through virtualenv. What you can do is follow these steps:

We normally need to install Python packages for one particular project. So, now create a project folder, let’s say myproject.

  • Copy the virtualenv.py file from the decompressed folder of virtualenv, and paste inside the myproject folder

Now create a virtual environment, let’s say myvirtualenv as follows, inside the myproject folder:

python virtualenv.py myvirtualenv

It will show you:

New python executable in myvirtualenv\Scripts\python.exe
Installing setuptools....................................done.
Installing pip.........................done.

Now your virtual environment, myvirtualenv, is created inside your project folder. You might notice, pip is now installed inside you virtual environment. All you need to do is activate the virtual environment with the following command.

myvirtualenv\Scripts\activate

You will see the following at the command prompt:

(myvirtualenv) PATH\TO\YOUR\PROJECT\FOLDER>pip install package_name

Now you can start using pip, but make sure you have activated the virtualenv looking at the left of your prompt.

This is one of the easiest way to install pip i.e. inside virtual environment, but you need to have virtualenv.py file with you.

For more ways to install pip/virtualenv/virtualenvwrapper, you can refer to thegauraw.tumblr.com.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
thegauraw
  • 4,462
  • 2
  • 18
  • 14
15

Updated at 2016 : Pip should already be included in Python 2.7.9+ or 3.4+, but if for whatever reason it is not there, you can use the following one-liner.

PS:

  1. This should already be satisfied in most cases but, if necessary, be sure that your environment variable PATH includes Python's folders (for example, Python 2.7.x on Windows default install: C:\Python27 and C:\Python27\Scripts, for Python 3.3x: C:\Python33 and C:\Python33\Scripts, etc)

  2. I encounter same problem and then found such perhaps easiest way (one liner!) mentioned on official website here: http://www.pip-installer.org/en/latest/installing.html

Can't believe there are so many lengthy (perhaps outdated?) answers out there. Feeling thankful to them but, please up-vote this short answer to help more new comers!

Vinoth Vino
  • 6,991
  • 3
  • 54
  • 59
RayLuo
  • 12,405
  • 4
  • 73
  • 65
15

I just wanted to add one more solution for those having issues installing setuptools from Windows 64-bit. The issue is discussed in this bug on python.org and is still unresolved as of the date of this comment. A simple workaround is mentioned and it works flawlessly. One registry change did the trick for me.

Link: http://bugs.python.org/issue6792#

Solution that worked for me...:

Add this registry setting for 2.6+ versions of Python:

 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\2.6\InstallPath]
 @="C:\\Python26\\"

This is most likely the registry setting you will already have for Python 2.6+:

 [HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.6\InstallPath]
 @="C:\\Python26\\"

Clearly, you will need to replace the 2.6 version with whatever version of Python you are running.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
user1233104
  • 159
  • 1
  • 2
14

The best way I found so far, is just two lines of code:

curl http://python-distribute.org/distribute_setup.py | python
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

It was tested on Windows 8 with PowerShell, Cmd, and Git Bash (MinGW).

And you probably want to add the path to your environment. It's somewhere like C:\Python33\Scripts.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
h--n
  • 5,529
  • 4
  • 27
  • 30
13

Here how to install pip the easy way.

  1. Copy and paste this content in a file as get-pip.py.
  2. Copy and paste get-pip.py into the Python folder.C:\Python27.
  3. Double click on get-pip.py file. It will install pip on your computer.
  4. Now you have to add C:\Python27\Scripts path to your environment variable. Because it includes the pip.exe file.
  5. Now you are ready to use pip. Open cmd and type as
    pip install package_name
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Harun ERGUL
  • 4,996
  • 5
  • 47
  • 55
12

PythonXY comes with pip included, among others.

Tobias Kienzler
  • 21,611
  • 21
  • 111
  • 204
12

I use the cross-platform Anaconda package manager from continuum.io on Windows and it is reliable. It has virtual environment management and a fully featured shell with common utilities (e.g. conda, pip).

> conda install <package>               # access distributed binaries

> pip install <package>                 # access PyPI packages 

conda also comes with binaries for libraries with non-Python dependencies, e.g. pandas, numpy, etc. This proves useful particularly on Windows as it can be hard to correctly compile C dependencies.

pylang
  • 28,402
  • 9
  • 97
  • 94
10

I had some issues installing in different ways when I followed instructions here. I think it's very tricky to install in every Windows environment in the same way. In my case I need Python 2.6, 2.7 and 3.3 in the same machine for different purposes so that's why I think there're more problems. But the following instructions worked perfectly for me, so might be depending on your environment you should try this one:

http://docs.python-guide.org/en/latest/starting/install/win/

Also, due to the different environments I found incredible useful to use Virtual Environments, I had websites that use different libraries and it's much better to encapsulate them into a single folder, check out the instructions, briefly if PIP is installed you just install VirtualEnv:

pip install virtualenv

Into the folder you have all your files run

virtualenv venv

And seconds later you have a virtual environment with everything in venv folder, to activate it run venv/Scripts/activate.bat (deactivate the environment is easy, use deactivate.bat). Every library you install will end up in venv\Lib\site-packages and it's easy to move your whole environment somewhere.

The only downside I found is some code editors can't recognize this kind of environments, and you will see warnings in your code because imported libraries are not found. Of course there're tricky ways to do it but it would be nice editors keep in mind Virtual Environments are very normal nowadays.

Hope it helps.

Maximiliano Rios
  • 2,021
  • 2
  • 20
  • 31
8
  1. Download script: https://raw.github.com/pypa/pip/master/contrib/get-pip.py
  2. Save it on drive somewhere like C:\pip-script\get-pip.py
  3. Navigate to that path from command prompt and run " python get-pip.py "

Guide link: http://www.pip-installer.org/en/latest/installing.html#install-pip

Note: Make sure scripts path like this (C:\Python27\Scripts) is added int %PATH% environment variable as well.

Adil Abbasi
  • 2,857
  • 1
  • 35
  • 32
5

It's very simple:

Step 1: wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
Step 2: wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
Step 2: python ez_setup.py
Step 3: python get-pip.py

(Make sure your Python and Python script directory (for example, C:\Python27 and C:\Python27\Scripts) are in the PATH.)

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
CaptainCodeman
  • 1,846
  • 2
  • 18
  • 23
5

Working as of Feb 04 2014 :):

If you have tried installing pip through the Windows installer file from http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip as suggested by @Colonel Panic, you might have installed the pip package manager successfully, but you might be unable to install any packages with pip. You might also have got the same SSL error as I got when I tried to install Beautiful Soup 4 if you look in the pip.log file:

Downloading/unpacking beautifulsoup4
  Getting page https://pypi.python.org/simple/beautifulsoup4/
  Could not fetch URL https://pypi.python.org/simple/beautifulsoup4/: **connection error: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed**
  Will skip URL https://pypi.python.org/simple/beautifulsoup4/ when looking for download links for beautifulsoup4

The problem is an issue with an old version of OpenSSL being incompatible with pip 1.3.1 and above versions. The easy workaround for now, is to install pip 1.2.1, which does not require SSL:

Installing Pip on Windows:

  1. Download pip 1.2.1 from https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz
  2. Extract the pip-1.2.1.tar.gz file
  3. Change directory to the extracted folder: cd <path to extracted folder>/pip-1.2.1
  4. Run python setup.py install
  5. Now make sure C:\Python27\Scripts is in PATH because pip is installed in the C:\Python27\Scripts directory unlike C:\Python27\Lib\site-packages where Python packages are normally installed

Now try to install any package using pip.

For example, to install the requests package using pip, run this from cmd:

pip install requests

Whola! requests will be successfully installed and you will get a success message.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
praveenak
  • 400
  • 5
  • 7
5

pip is already installed if you're using Python 2 >= 2.7.9 or Python 3 >= 3.4 binaries downloaded from python.org, but you'll need to upgrade pip.

On Windows, the upgrade can be done easily:

Go to a Python command line and run the below Python command

python -m pip install -U pip

Installing with get-pip.py

Download get-pip.py in the same folder or any other folder of your choice. I am assuming you will download it in the same folder from where you have the python.exe file and run this command:

python get-pip.py

Pip's installation guide is pretty clean and simple.

Using this, you should be able to get started with Pip in under two minutes.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Chetan Sharma
  • 1,260
  • 11
  • 13
4

If you even have other problems with the pip version, you can try this:

pip install --trusted-host pypi.python.org --upgrade pip
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Smaillns
  • 1,330
  • 12
  • 19
4

Simple CMD way

Use CURL to download get-pip.py:

curl --http1.1 https://bootstrap.pypa.io/get-pip.py --output get-pip.py

Execute the downloaded Python file

python get-pip.py

Then add C:\Python37\Scripts path to your environment variable. It assumes that there is a Python37 folder in your C drive. That folder name may vary according to the installed Python version

Now you can install Python packages by running

pip install awesome_package_name
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Sumithran
  • 3,196
  • 3
  • 25
  • 38
3

I think the question makes it seem like the answer is simpler than it really is.

Running of pip will sometimes require native compilation of a module (64-bit NumPy is a common example of that). In order for pip's compilation to succeed, you need Python which was compiled with the same version of Microsoft Visual C++ as the one pip is using.

Standard Python distributions are compiled with Microsoft Visual C++ 2008. You can install an Express version of Microsoft Visual C++ 2008, but it is not maintained. Your best bet is to get an express version of a later Microsoft Visual C++ and compile Python. Then PIP and Python will be using the same Microsoft Visual C++ version.

Dmitry Rubanovich
  • 2,234
  • 15
  • 22
  • that doesn't have anything to do with pip, but it has everything to do with how your development environment is set up, including which environment variables point where, and whether everything is on your `PATH`. Yes, your version of MSVC needs to match the one used to compile Python, but pip is just using what's in the environment. – MattDMo Jan 14 '16 at 02:25
  • @MattDMo, **generally when people ask a question about how to install a package manager, that means they want to know how to also configure it (and its running environment) so that it can install packages**. Most people run into trouble when trying to install numpy with PIP because they have a later version of MSVC installed and after pip pulls in the numpy sources, setup.py can't compile it. I stand by my answer. – Dmitry Rubanovich Jan 14 '16 at 02:31
3

Now, it is bundled with Python. You don't need to install it.

pip -V

This is how you can check whether pip is installed or not.

In rare cases, if it is not installed, download the get-pip.py file and run it with Python as

python get-pip.py
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Usman Ahmed
  • 1,918
  • 1
  • 15
  • 15
3

Installing Pip for Python 2 and Python 3

  1. Download get-pip.py to a folder on your computer.
  2. Open a command prompt and navigate to the folder containing get-pip.py.
  3. Run the following command:python get-pip.py, python3 get-pip.py or python3.6 get-pip.py, depending on which version of Python you want to install pip
  4. Pip should be now installed!

Old answer (still valid)

Try:

python -m ensurepip

It's probably the easiest way to install pip on any system.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Pedro Lobito
  • 75,541
  • 25
  • 200
  • 222
2

Alternatively, you can get pip-Win which is an all-in-one installer for pip and virtualenv on Windows and its GUI.

  • Switch from one Python interpreter (i.e. version) to another (including py and pypy)
  • See all installed packages, and whether they are up-to-date
  • Install or upgrade a package, or upgrade pip itself
  • Create and delete virtual environments, and switch between them
  • Run the IDLE or another Python script, with the selected interpreter
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
sk8asd123
  • 1,465
  • 15
  • 13
2

There is also an issue with pip on 64 bit Cygwin. After installation, the output of pip command is always empty, no matters what commands/options do you use (even pip -V doesn't produce any output).

If it's your case, just install the development version of Cygwin's package libuuid called libuuid-devel. Without that package using of libuuid causes a segfault. And pip uses that package, so the segfault is the cause of an empty output of pip on Cygwin x64. On 32 bit Cygwin it's working fine even without that package.

You can read some details there: https://github.com/kennethreitz/requests/issues/1547

David Ferenczy Rogožan
  • 18,863
  • 8
  • 68
  • 65
2

Just download setuptools-15.2.zip (md5), from here https://pypi.python.org/pypi/setuptools#windows-simplified , and run ez_setup.py.

ybdesire
  • 1,289
  • 14
  • 32
2

You have to get the get_pip.py file. Search it on google. Copy from there and save it locally on C drive in the pip directory.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Pawanvir singh
  • 361
  • 6
  • 17
2

Even if I installed Python 3.7, added it to PATH, and checked the checkbox "Install pip", pip3.exe or pip.exe was finally not present on the computer (even in the Scripts subfolder).

This solved it:

python -m ensurepip

(The solution from the accepted answer did not work for me.)

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Basj
  • 29,668
  • 65
  • 241
  • 451
1

How to install pip:

  1. Download and install ActivePython
  2. Open a command prompt (CMD)
  3. Type pypm install pip
Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Paul Sweatte
  • 22,871
  • 7
  • 116
  • 244
0

One-liner that downloads and automatically installs when the download is finished.

curl --http1.1 https://bootstrap.pypa.io/get-pip.py --output get-pip.py && python get-pip.py

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
0

Windows 10 Update - GUI only

From now on you can just access Microsoft Store, and look for Python:

enter image description here

Which feature:

enter image description here

That's the easiest and safest way to install python and pip on windows.

Tomer Shetah
  • 7,646
  • 6
  • 20
  • 32
0

What fixed this for me was uninstalling Python completely. I found it was installed in the C:\Users\{User}\Python\Python38 folder and not C:\Program Files (x86)\Python\Python38.

When I uninstalled Python and its launcher, the (un)installer app closed explorer.exe. I relaunched it from the folder address bar and my desktop (suspectly explorer.exe) kept flashing on the screen. A forced reboot resolved it.

I had Python 3.8 and the new version is Python 3.9.1 as of writing this. Python 3.9.1 has Pip included.

I didn't need to edit my Environmental Variables as this was done in the installation.

After installation I did this:

C:\Users\{User}>pip --version
pip 20.2.3 from c:\program files (x86)\python\python39\lib\site-packages\pip (python 3.9)

So pip is installed now. Spent about 3 hours on here and tutorials trying to fix this. But this method worked for me.

-2

Sometimes it is easier to understand when you use an IDE:

  • Install PyCharm
  • And create a virtual environment, it will automatically install pip
  • Then in code, you could install any Python package

Enter image description here

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Janis Karklins
  • 367
  • 1
  • 4
  • 15
-2

The simple solution is to install Python 3. I think why you have this problem is because you are using Python 2. I did this and it worked.

When installing Python 3, make sure to select PIP. It installs it with Python.

Peter Mortensen
  • 28,342
  • 21
  • 95
  • 123
Goatie
  • 7
  • 3