92 votes

Comment puis-je mettre à jour Pip à la dernière version ?

J'ai installé pip en utilisant get-pip.py mais l'erreur suivante s'est produite après pip freeze est exécuté :

    Exception:
    Traceback (most recent call last):
      File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
        status = self.run(options, args)
      File "/usr/lib/python2.7/dist-packages/pip/commands/freeze.py", line 74, in run
        req = pip.FrozenRequirement.from_dist(dist, dependency_links, find_tags=find_tags)
      File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 299, in from_dist
        assert len(specs) == 1 and specs[0][0] == '=='
    AssertionError

    Storing debug log for failure in /home/simon/.pip/pip.log

J'ai vérifié que la version 1.7 de Pip est la plus récente. Cependant, la mise à jour de pip via pip install -U pip n'a pas mis à jour mon pip. Comment puis-je résoudre ce problème ?

    simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
    pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
    simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
    pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
    simon@simon-OptiPlex-780:~/Nightybuild$ pip install -U pip
    Downloading/unpacking pip
      Downloading pip-7.1.2-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
    Installing collected packages: pip
    Successfully installed pip
    Cleaning up...
    simon@simon-OptiPlex-780:~/Nightybuild$ pip --version
    pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)

96voto

Byte Commander Points 99026

En général, j'exécute les commandes suivantes pour mettre à jour les deux fichiers pip2 (= pip par défaut) et pip3 :

sudo -H pip3 install --upgrade pip
sudo -H pip2 install --upgrade pip

Vous devez vous assurer que vous mettez à jour la version (pour Python 2 ou 3), que vous voulez réagir sur la commande pip sans numéro, dernier.

Veuillez également noter que cela permet de conserver les anciennes versions emballées installées par le biais de apt-get ou tout autre gestionnaire de paquets, mais ajoute de nouvelles versions qui n'ont rien à voir avec les paquets système. Le site pip -seront préférés, mais vous ne devez pas supprimer les paquets de l'option apt-get -parce que le gestionnaire de paquets ne peut pas savoir qu'un paquet pip est installée sinon.

58voto

Foad Points 763

Je pense que le

pip install --upgrade pip

ne fonctionne plus correctement. La commande correcte devrait être :

  • pour Python 3 :

    python3 -m pip install --upgrade pip
  • pour Python 2 :

    python2 -m pip install --upgrade pip

P.D. Si vous voulez vous assurer que vos autres paquets Python sont également à jour, suivez les instructions suivantes aquí .

7voto

an0nym0use Points 79

Aller sur le site web https://pypi.Python.org/pypi/pip .

Copiez (ou téléchargez) le lien source (se terminant en .tar.gz ).

Pour la version 9.0.1, le lien est le suivant https://pypi.Python.org/pypi?:action=show_md5&digest=35f01da33009719497f01a4ba69d63c9 .

Procédure d'installation :

wget Link goes here
tar -xzvf pip-9.0.1.tar.gz
cd pip-9.0.1
sudo python3 setup.py install

La version doit être remplacée par la dernière version et le lien peut être mis à jour avec le lien de la dernière version.

Cela devrait fonctionner.

5voto

Mike Points 171

Je pense qu'il est utile de mentionner que ce que j'explique ci-dessous est que si vous attendez pip pour pointer vers Python 2 et pip3 pour pointer vers Python 3. La raison pour laquelle je mentionne ceci est que lorsque vous mettez à jour pip3, il prend également en charge la commande pip. C'est une convention quelque peu étrange car par défaut Python pointe vers 2.x et python3 pointe vers 3.x. Ceci étant dit...

Si vous souhaitez faire coexister les dernières versions de Python 2.x pip et de Python 3.x pip3 sur la même machine (en utilisant pip pour 2.x et pip3 pour 3.x), vous devez procéder comme suit :

sudo apt-get install python-pip python3-pip --yes
sudo python3 -m pip install pip --upgrade --force
sudo python -m pip install pip --upgrade --force # this line associates pip with Python 2

Les autres réponses fournies par d'autres personnes ne mentionnent pas qu'après avoir exécuté sudo pip3 install pip --upgrade vous vous retrouverez avec le pip qui installe les paquets dans les répertoires de Python 3.x au lieu des répertoires de Python 2.x.

Une partie de moi pense que nous devrions simplement laisser pip après avoir mis à jour pip3 (même si c'est pip -> pip3), mais il y a un danger que les gens s'attendent déjà à ce que pip fonctionne comme Python - tous deux pointant vers Python 2.x. En d'autres termes, les gens sont probablement formés pour utiliser pip/Python pour Python 2.x tout comme ils sont formés pour utiliser pip3/python3 pour Python 3.x.

3voto

kwahn Points 198

pip install -U pip

Le plus court que je connaisse.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X