any idea how to update python PIP on a windows box?
Solution 1
easy_install -U pip
:-)
Solution 2
Run pip as a script, using python as the main executable.
python -m pip install -U pip
Solution 3
[UPDATE 2015-11-15] This post is obsolete and out of date. Current best practice is according to pip is to use the following:
python -m pip install -U pip setuptools
It's not necessary to use easy_install
from setuptools. The recommended procedure to update pip, from the pip-installer page is to use get-pip.py
.
To install or upgrade pip, securely download
get-pip.py
.
You can use the following in a Bash shell like msysgit's Git Bash.
user@machine ~$ curl -L https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python
Use the -L
option to follow redirects. Recently GitHub changed the url for raw content, so the old raw get-pip.py
url has been redirected and on the pip website the url was changed. If successful, you should see the following:
$ curl -L https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1309k 100 1309k 0 0 364k 0 0:00:03 0:00:03 --:--:-- 366k
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-1.5.6-py2.py3-none-any.whl#md5=4d4fb4b69df6731c7aeaadd6300bc1f2
Installing collected packages: pip
Found existing installation: pip 1.5.4
Uninstalling pip:
Successfully uninstalled pip
Successfully installed pip
Cleaning up...
You can modify this for the Windows command line, but first if you don't have libcurl, download a Windows binary from Curl. You'll want to scroll all the way to the bottom and get Günter Knauf's current official Win32 binary (currently 7.29) and unzip it. Don't worry about it being 32-bit versus 64-bit. Just make sure you get the one with all the bells and whistles (ssl, zlib, etc.). Now navigate to the folder where you downloaded curl, probably c:\Users\<you>\Downloads
, open the extracted folder, probably curl-7.29.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32
, and you should find curl.exe
. Yay! Now in a windows shell type this after the prompt (which will have your username instead of myusername
), replacing path\to\Curl\
with the path to the downloaded curl.exe
file.
C:\Users\myusername> path\to\Curl\curl.exe -kL https://bootstrap.pypa.io/get-pip.py | python
You need the -k
option to allow curl to access the secure GitHub pip site without certs. Also, thanks Piotr Dobrogost for telling me about Windows pipes, |
, which saves the step of saving the file.
If you already have the latest version of pip you will get the following message:
$ curl https://bootstrap.pypa.io/get-pip.py | python
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1309k 100 1309k 0 0 369k 0 0:00:03 0:00:03 --:--:-- 371k
Requirement already up-to-date: pip in c:\python27\lib\site-packages
Cleaning up...
Also works just fine in virtualenvs.
boatcoder
Started writing code in 1982 (in college) and haven't stopped since. I've used C++ to build applications for Libraries (the kind that lend books) and Banks and sleep labs. I've also written Java for banks. Worked with Pyramid in Grand Cayman for Uniregistry. Been working with Django since 2009 and have used it to build solutions for banks, sleep labs, and ALS clinics. Built a labor scheduling tool for the entertainment industry that uses AngularJS for the frontend SPA and Django rest framework for the back end API and DJango views for reports. I've been the rescue engineer for 911 calls that were getting lost, SQL queries that were so slow the application was timing them out, and written various scripts to patch around otherwise broken software packages where the source code was not available. A long time ago, in a galaxy far far away I wrote kernel code for Unix SYSV in the ethernet/FDDI arena for Intergraph.
Updated on May 14, 2020Comments
-
boatcoder almost 4 years
pip install --upgrade pip
doesn't work because the windows FS is brain damaged and won't let you delete an open file.I've tried setting my environment to the virtualenv that I want to update and then running from a different pip, but that fails with:
(jm) E:\python\jm>c:\Python26\Scripts\pip install --upgrade pip Downloading/unpacking pip Running setup.py egg_info for package pip warning: no previously-included files matching '*.txt' found under directory 'docs\_build' no previously-included directories found matching 'docs\_build\_sources' Installing collected packages: pip Found existing installation: pip 0.7.1 Uninstalling pip: Successfully uninstalled pip Running setup.py install for pip warning: no previously-included files matching '*.txt' found under directory 'docs\_build' no previously-included directories found matching 'docs\_build\_sources' Installing pip-script.py script to c:\Python26\Scripts Installing pip.exe script to c:\Python26\Scripts Installing pip.exe.manifest script to c:\Python26\Scripts Installing pip-2.6-script.py script to c:\Python26\Scripts Installing pip-2.6.exe script to c:\Python26\Scripts Installing pip-2.6.exe.manifest script to c:\Python26\Scripts Exception: Traceback (most recent call last): File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\basecommand.py", line 120, in main File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\commands\install.py", line 165, in run File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\req.py", line 1251, in install File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\req.py", line 466, in commit_uninstall File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\req.py", line 1549, in commit File "c:\Python26\lib\shutil.py", line 216, in rmtree rmtree(fullname, ignore_errors, onerror) File "c:\Python26\lib\shutil.py", line 216, in rmtree rmtree(fullname, ignore_errors, onerror) File "c:\Python26\lib\shutil.py", line 221, in rmtree onerror(os.remove, fullname, sys.exc_info()) File "c:\Python26\lib\shutil.py", line 219, in rmtree os.remove(fullname) WindowsError: [Error 5] Access is denied: 'c:\\users\\mark\\appdata\\local\\temp\\pip-gvsove-uninstall\\python26\\scripts\\pip.exe' Storing complete log in C:\Users\mark\AppData\Roaming\pip\pip.log (jm) E:\python\jm>dir c:\Users\mark\AppData\Local\temp\pip-gvsove-uninstall\python26\scripts Volume in drive C has no label. Volume Serial Number is 74E4-FE9F Directory of c:\Users\mark\AppData\Local\temp\pip-gvsove-uninstall\python26\scripts 12/07/2010 11:32 AM <DIR> . 12/07/2010 11:32 AM <DIR> .. 05/14/2010 05:54 PM 7,168 pip.exe 1 File(s) 7,168 bytes 2 Dir(s) 22,824,603,648 bytes free (jm) E:\python\jm>del c:\Users\mark\AppData\Local\temp\pip-gvsove-uninstall\python26\scripts\pip.exe
I'm hoping someone else has figured out a way around this. Its no problem on linux....