web-dev-qa-db-fra.com

une idée comment mettre à jour python PIP sur une boîte Windows?

pip install --upgrade pip ne fonctionne pas car la fenêtre FS est endommagée au cerveau et ne vous permettra pas de supprimer un fichier ouvert.

J'ai essayé de définir mon environnement sur le virtualenv que je veux mettre à jour puis d'exécuter à partir d'un autre pip, mais cela échoue avec:

(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

J'espère que quelqu'un d'autre a trouvé un moyen de contourner cela. Ce n'est pas un problème sur Linux ....

55
boatcoder

easy_install -U pip

:-)

111
Jonny Buchanan

Exécutez pip en tant que script, en utilisant python comme exécutable principal.

python -m pip install -U pip
62
Christian Long

[MISE À JOUR 2015-11-15] Ce message est obsolète et obsolète. La meilleure pratique actuelle est selon pip est d'utiliser ce qui suit:

python -m pip install -U pip setuptools

Il n'est pas nécessaire d'utiliser easy_install de setuptools . La procédure recommandée pour mettre à jour pip, à partir de la page pip-installer est d'utiliser get-pip.py .

Pour installer ou mettre à niveau pip, téléchargez en toute sécurité get-pip.py .

Vous pouvez utiliser ce qui suit dans un Bash Shell comme Git Bash de msysgit .

user@machine ~$ curl -L https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python

Utilisez le -L option pour suivre les redirections. GitHub a récemment changé l'URL du contenu brut, donc l'ancien _ get-pip.py url a été redirigé et sur le site Web pip l'url a été modifiée . En cas de succès, vous devriez voir ce qui suit:

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

Vous pouvez le modifier pour la ligne de commande Windows, mais d'abord si vous n'avez pas libcurl, téléchargez un binaire Windows depuis Curl . Vous voudrez faire défiler jusqu'en bas et obtenir le binaire Win32 officiel actuel de Günter Knauf (actuellement 7.29) et le décompresser. Ne vous inquiétez pas s'il s'agit de 32 bits contre 64 bits. Assurez-vous simplement que vous obtenez celui avec toutes les cloches et les sifflets (ssl, zlib, etc.). Accédez maintenant au dossier dans lequel vous avez téléchargé curl, probablement c:\Users\<you>\Downloads, ouvrez le dossier extrait, probablement curl-7.29.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32, et vous devriez trouver curl.exe. Yay! Maintenant, dans un shell Windows, tapez ceci après l'invite (qui aura votre nom d'utilisateur au lieu de myusername), en remplaçant path\to\Curl\ avec le chemin d'accès au fichier téléchargé curl.exe fichier.

C:\Users\myusername> path\to\Curl\curl.exe -kL https://bootstrap.pypa.io/get-pip.py | python

Vous avez besoin du -k option pour permettre à curl d'accéder au site sécurisé de pip GitHub sans certificats. Aussi, merci Piotr Dobrogost pour m'avoir parlé des canaux Windows, |, qui enregistre l'étape d'enregistrement du fichier.

Si vous avez déjà la dernière version de pip, vous obtiendrez le message suivant:

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

Fonctionne également très bien dans virtualenvs.

17
Mark Mikofski

Essayer:
Clic droit sur l'invite Anaconda (Exécuter en tant qu'administrateur)

>> conda update pip

(Si vous utilisez Anaconda. PS: Cela a fonctionné pour moi)

0
OM Bharatiya