Impossible de mettre à jour pip

21

Je suis nouveau sur Linux et Ubuntu.

J'essayais de mettre à jour pip mais je suis tombé sur ça ...

$ sudo pip install --upgrade pip
Cannot fetch index base URL https://pypi.python.org/simple/
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.0-py2.py3-none-any.whl#md5=b108384a762825ec20345bb9b5b7209f
  Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed pip
Cleaning up...

Une idée pourquoi?

Spencer Lee
la source
2
essayez -à- aptdire sudo apt-get install python-pipde mettre à niveaupip
heemayl
hmmm ... dit que c'est la version la plus à jour ... est-ce parce que apt-get et pip obtiennent leurs paquets de sources différentes? (ce serait une différence entre apt-get et pypi?) 'python-pip est déjà la dernière version.'
Spencer Lee
cela signifie qu'il est à jour ...
Tim
1
sauf en cours d'exécution: pip list --outdated pip renvoie les informations suivantes: pip (Current: 1.5.4 Latest: 7.1.0) python externe apte à permettre).
Spencer Lee

Réponses:

3

Modifier:

pip install -U pip

ou

pip install --upgrade pip

-Uest un raccourci pour --upgrade.


Ancienne réponse:

Le aptsystème et PyPIutilise deux mécanismes différents.

Dans les référentiels d'Ubuntu, de nombreux modules de pythonsont disponibles sous forme de packages, mais ils ne sont pas beaucoup en nombre par rapport à PyPI (The Python Package Index) . Pour rester cohérent sur la mise à niveau d'un package, vous devez considérer la méthode que vous avez utilisée initialement pour l'installer.

Donc, si vous avez installé un package (module) à l' PyPIaide de, pipvous devez utiliser pippour mettre à niveau le package à partir de PyPI(y compris piplui-même). D'un autre côté, si vous avez utilisé le aptsystème pour installer un module (en tant que package), vous devez l'utiliser aptpour le mettre à niveau à nouveau.

En bref, exécutez ce qui suit pour mettre python-pipà niveau vers la dernière version:

sudo apt-get install python-pip
heemayl
la source
4
Cela ne répond pas à la question. python-pip ne met pas à jour pip, il installe seulement une très ancienne version de pip de telle manière que pip ne peut pas se mettre à jour.
Cerin
@Cerin Avez-vous bien lu la réponse? python-pipest le package du référentiel (officiel) Universe alors qu'il est easy_installinstallé à partir de PyPI. Comme toujours, les dépôts officiels ne contiennent pas le dernier paquet pour maintenir le système stable (et les dépendances résolues).
heemayl
6
@heemayl, OP a demandé comment mettre à niveau pip et vous leur avez effectivement dit d'installer une ancienne version de pip. La bonne solution consiste à désinstaller python-pip et à installer à partir de PyPI. L'installation de python-pip ne met pas à jour pip.
Cerin
22

Essayez de l'installer avec easy_install:

easy_install -U pip
NamPNQ
la source
1
Vous ne savez pas si cette réponse est toujours valable? Ce post sur Stack Overflow demandait "Pourquoi utiliser pip sur easy_install?", Dans lequel l'une des réponses notait que: "La seule bonne raison que je connaisse d'utiliser easy_install en 2015 est le cas particulier de l'utilisation du Python préinstallé d'Apple versions avec OS X 10.5-10.8. "
clearkimura
1
Concentrez-vous sur la question, la question est «Impossible de mettre à niveau pip», et je suggère une mise à niveau via easy_install, cela fonctionne en décembre 2015, d'accord?
NamPNQ
Aux downvoters, expliquez pourquoi cette réponse a été downvoted plus tôt? J'ai réussi à trouver un commentaire récent sous ce post , qui est cité ici: "easy_install -U pip de la suggestion ByteCommander a fonctionné pour moi. - Tampa 1 juin à 12:23". Il easy_installsemblerait que la méthode fonctionne pour certains utilisateurs.
clearkimura
1
Cela a fonctionné pour moi (avec sudo). Auparavant, sudo apt-get install python-pipme donnait python-pip is already the newest version (8.1.1-2ubuntu0.4)alors que 9.0.1 était disponible, mais ne pouvait pas être installé par pip install --upgrade pip(ce qui a laissé la version inchangée à 8.1.1). Après easy_installla mise à niveau de la version.
Kurt Peek du
Bien que cela fonctionne, cela remplace les fichiers gérés par le système par la nouvelle pipversion. Une réinstallation du python-pippackage remplacerait à nouveau les fichiers. Un autre code reposant sur la version du package présente et correcte pourrait se casser (petite mais non nulle) et easy_installpourrait ajouter des fichiers supplémentaires qui ne seraient pas supprimés lors d'une mise python-pipà niveau future vers une version plus récente qui pourrait interférer et casser des choses.
Martijn Pieters
7

J'ai eu le même problème pendant longtemps et j'ai trouvé la solution aujourd'hui. Lorsque vous installez pip via python-pip, vous téléchargez à partir du serveur Linux obsolète. Vous devez télécharger à partir du serveur python. Pour résoudre ce problème, procédez comme suit:

sudo apt-get purge pip
sudo apt-get install python-setuptools
sudo apt-get install python-dev 
sudo easy_install pip 
pip install pip --upgrade 
user730924
la source
1
merci d'avoir expliqué la source du problème. j'ai dû le comprendre moi-même avant de faire défiler vers le bas et de voir cette réponse.
G Gordon Worley III
Ces commandes (2-3) sont incorrectes.
Joel G Mathew
@JoelGMathew a juste besoin d'installer Word après apt-get
nurgasemetey
2

En fait, vous pouvez éditer votre script 'pip':

à partir de la racine:

$ which pip  # -> prints 'pip' location

$ nano `which pip` # -> open with your editor, note the backticks!

remplacez le __requires__par votre version pip la plus récente comme:

__requires__ = 'pip==7.1.2'

que modifier la ligne avec l'appel 'load_entry_point' à:

load_entry_point(__requires__, 'console_scripts', 'pip')()

et:

$pip -V
pip 7.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)

aussi, je dois mettre à jour mon package setuptools , pour installer certains packages.

s0rg
la source
2

Cela est dû à un conflit entre une version de pip fournie par un package système, comme python-pip, et une version fournie par PyPI via pip lui-même.

Pour résoudre ce problème, supprimez simplement python-pipavec sudo apt-get purge python-pip.

Si vous avez déjà utilisé l'ancienne version de pip pour installer une version plus récente, cela devrait laisser la version mise à jour dans /usr/local/bin. Sinon, vous pouvez installer la version la plus récente de Pip à partir de zéro avec:

curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7
Cerin
la source
1

Utilisez ce lien pour mettre à niveau. Fondamentalement:

  1. Téléchargez le dossier get-pip.py
  2. courir python get-pip.py
Manish
la source
1

Essayez d'exécuter sudo -H pip3 install --upgrade pippour mettre à niveau votre pip3 (pour Python 3). Inversement, vous pouvez également sudo -H pip2 install --upgrade pipmettre à niveau pip (pour Python 2).

BhushanDhamale
la source
1

J'ai rencontré ce problème lorsque je travaillais sur une machine distante dans laquelle j'étais connecté. Je venais d'installer python 3 et je n'ai pas pu obtenir la mise à niveau de pip, même si j'avais essayé de mettre à niveau via pip AND apt-get.

La déconnexion du serveur distant et la reconnexion l'ont corrigé.

Teal Hobson-Lowther
la source
0

Si python-pipinstallé à partir de référentiels apt avec sudo exécuté par l'utilisateur sudo -H install --upgrade pip, il en est de même pour l'installation des modules PIP.

Voici la sortie de ma console le 16.04

..... Successfully installed requests
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 672kB/s 
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ sudo -H pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 692kB/s 
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-9.0.1
:~$ 

voir aussi Qu'est - ce que le drapeau -H pour pip? /programming/28619686/what-is-the-h-flag-for-pip

Communauté
la source
0

Je ne suis qu'un débutant, donc je ne suis pas sûr, mais c'est probablement quelque chose lié aux différences entre python 2 et 3. Je pense que ce n'est pas nécessaire d'être un superutilisateur, mais vous pouvez le faire facilement en utilisant pip3plutôt qu'en mettant pipà niveau pip: pip3 install --upgrade pip

NBee
la source
0

J'ai eu un problème similaire lors de la mise à niveau de la version pip 9.0.3 vers la version 18.0.

Ainsi, lors de la mise à niveau, la première désinstallation se produit, puis la dernière version est installée. Cependant, j'ai trouvé que lors de votre première tentative, il est dit "pip-9.0.3 désinstallé avec succès"

Lors des tentatives suivantes, nous obtenons la même erreur. En effet, le pip-9.0.3 est désinstallé. Comme pour la réponse acceptée, j'ai installé pip en tant qu'administrateur dans mon système Windows 10, j'ai obtenu la dernière version et tout s'est bien passé.

J'espère que cela t'aides.

Eswar
la source