J'ai installé pip en utilisant get-pip.py
après cela pip freeze
jette l'erreur ci-dessous
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
Alors j'ai vérifié que 1.7 est le dernier. Si j'ai suivi les étapes ci-dessous et que la mise à jour ne se produit pas ... Aidez-moi ici ...
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)
Réponses:
En général, je ne fais que lancer les commandes suivantes pour mettre à niveau à la fois
pip2
(=pip
par défaut) etpip3
:Vous devez vous assurer que vous mettez à niveau la version (pour Python 2 ou 3), que vous souhaitez réagir à la commande
pip
sans numéro, en dernier.Veuillez également noter que cela conserve les anciennes versions empaquetées installées via
apt-get
n'importe quel autre gestionnaire de paquets, mais ajoute de nouvelles versions qui n'ont rien à voir avec les paquets système. Lespip
paquets -installés seront préférés, mais vous ne devriez pas non plus supprimerapt-get
ceux -installés, car le gestionnaire de paquets ne peut pas savoir si unepip
version est installée autrement.la source
sudo -H
?pip
veut écrire ses fichiers téléchargés quelque part pour les mettre en cache. Il est implémenté pour les placer dans un sous-dossier du répertoire de base de l'utilisateur actuel. Si vous l'exécutez sans-H
cela, vous vous plaindrez, car il détecte que le répertoire de base actuellement défini (utilisateur normal) ne correspond pas à l'utilisateur sous lequel il est exécuté (racine). S'il écrivait ses fichiers dans votre répertoire personnel, ceux-ci appartiendraient à root et ne seraient plus accessibles à vous en tant qu'utilisateur normal. Par conséquent, les fichiers ne sont pas mis en cache dans ce cas. Ce n'est pas terrible d'omettre ce-H
qui estpip
détecté et mis en garde.pip
commande? Lorsque j'effectue une misepip2
à niveau, lapip2
commande n'est pas mise à niveau , mais simplementpip
.pip
est relatif à la version de python que vous appelez. et c’est pourquoi ses commandes sontpip2
etpip3
appellent respectivement la version appropriée de python pour mettre à jour pip. Cela a-t-il du sens?Je pense que le
La commande ne fonctionne plus correctement. La commande correcte devrait être:
pour Python 3:
pour Python 2:
la source
pip install -U pip
(voir Mise à niveau de pip )Aller sur ce site https://pypi.python.org/pypi/pip
copier (ou) télécharger le lien source (se termine par .tar.gz)
pour 9.0.1, le lien est https://pypi.python.org/pypi?:action=show_md5&digest=35f01da33009719497f01a4ba69d63c9
procédure d'installation
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 marcher
la source
pip install -U pip
Le plus court que je connaisse.
la source
Je pense qu'il vaut la peine de mentionner que ce que j'explique ci-dessous est si vous vous attendez à ce que pip pointe sur Python 2 et que pip3 pointe sur Python 3. La raison pour laquelle je le mentionne est que parce que vous mettez à niveau pip3, il prend également en charge la commande pip bien. Ceci est une convention quelque peu étrange car par défaut, python pointe vers 2.x et python3 pointe vers 3.x. Cela étant dit...
Si vous souhaitez faire coexister les versions les plus récentes de python 2.x pip et de python 3.x pip3 sur le même ordinateur (à l'aide de pip pour 2.x et de pip3 pour 3.x), vous devez procéder comme suit:
Les autres réponses fournies par d'autres omettent de mentionner qu'après l'exécution de sudo pip3 install pip --upgrade, vous obtiendrez la commande pip en installant des packages dans les répertoires python 3.x au lieu des répertoires python 2.x.
Une partie de moi pense que nous devrions simplement laisser pip be après la mise à niveau de pip3 (même si pip -> pip3), mais il existe un risque que les utilisateurs s’attendent déjà à ce que les fonctions de pip soient comme python - les deux pointant vers python 2.x. En d'autres termes, les personnes sont probablement formées à utiliser pip / python pour Python 2.x, tout comme elles sont formées à utiliser pip3 / python3 pour Python 3.x.
la source
Je fais face à la même erreur et l'ai résolue avec les commandes suivantes.
ImportError: Aucun module nommé packaging.version
la source
apt-get purge -y python-pip
a travaillé pour moi