any idea how to update python PIP on a windows box?

Question:

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:pythonjm>c:Python26Scriptspip 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:Python26Scripts
    Installing pip.exe script to c:Python26Scripts
    Installing pip.exe.manifest script to c:Python26Scripts
    Installing pip-2.6-script.py script to c:Python26Scripts
    Installing pip-2.6.exe script to c:Python26Scripts
    Installing pip-2.6.exe.manifest script to c:Python26Scripts
Exception:
Traceback (most recent call last):
  File "c:Python26libsite-packagespip-0.7.1-py2.6.eggpipbasecommand.py", line 120, in main
  File "c:Python26libsite-packagespip-0.7.1-py2.6.eggpipcommandsinstall.py", line 165, in run
  File "c:Python26libsite-packagespip-0.7.1-py2.6.eggpipreq.py", line 1251, in install
  File "c:Python26libsite-packagespip-0.7.1-py2.6.eggpipreq.py", line 466, in commit_uninstall
  File "c:Python26libsite-packagespip-0.7.1-py2.6.eggpipreq.py", line 1549, in commit
  File "c:Python26libshutil.py", line 216, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:Python26libshutil.py", line 216, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:Python26libshutil.py", line 221, in rmtree
    onerror(os.remove, fullname, sys.exc_info())
  File "c:Python26libshutil.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:UsersmarkAppDataRoamingpippip.log

(jm) E:pythonjm>dir c:UsersmarkAppDataLocaltemppip-gvsove-uninstallpython26scripts
 Volume in drive C has no label.
 Volume Serial Number is 74E4-FE9F

 Directory of c:UsersmarkAppDataLocaltemppip-gvsove-uninstallpython26scripts

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:pythonjm>del c:UsersmarkAppDataLocaltemppip-gvsove-uninstallpython26scriptspip.exe

I’m hoping someone else has figured out a way around this. Its no problem on linux….

Asked By: boatcoder

||

Answers:

easy_install -U pip

🙂

Answered By: Jonny Buchanan

[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 pathtoCurl with the path to the downloaded curl.exe file.

C:Usersmyusername> pathtoCurlcurl.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:python27libsite-packages
Cleaning up...

Also works just fine in virtualenvs.

Answered By: Mark Mikofski

Run pip as a script, using python as the main executable.

python -m pip install -U pip
Answered By: Christian Long

Try:
Right Click Anaconda Prompt (Run as Admin)

>> conda update pip

(If you are using Anaconda. PS: It worked for me)

Answered By: OM Bharatiya

pip install pip --upgrade

enter image description here worked for me

Note: Make sure you are running command Prompt in administrator mode

Answered By: Mahesh Jamdade

Hey i Just able to Upgrade PIP on Python 36 with Following Command in CMD

python -m pip install –upgrade pip

CMD : Upgrading PIP in Python 36

Answered By: user2255224
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.