web-dev-qa-db-fra.com

pip s'est cassé. Comment corriger l'erreur DistributionNotFound?

Chaque fois que j'essaie d'utiliser pip je reçois une erreur. Par exemple:

$ Sudo pip install gevent-websocket

Traceback (most recent call last):  
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2675, in <module>
parse_requirements(__requires__), Environment()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 552, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==0.8.1

Je suis tenté de modifier la valeur de into pip == 0.8.2 .. mais je ne me sens pas aux prises avec les conséquences du "piratage" de mon installation ... Je suis en train de lancer python 2.7 et pip est à la version 0.8.2.

141
Stephan

Je trouve ce problème dans mon MacBook. La raison en est que, comme @Stephan l’a dit, j’utilise easy_install pour installer pip et que le mélange des deux outils de gestion des paquets py a conduit au problème pkg_resources.DistributionNotFound. La résolution est:

easy_install --upgrade pip

Rappelez-vous: utilisez simplement n des outils ci-dessus pour gérer vos paquets Py.

247
NewPtone

J'ai remplacé 0.8.1 dans 0.8.2 dans/usr/local/bin/pip et tout a fonctionné à nouveau.

__requires__ = 'pip==0.8.2'
import sys
from pkg_resources import load_entry_point

if __== '__main__':
    sys.exit(
        load_entry_point('pip==0.8.2', 'console_scripts', 'pip')()
    )

J'ai installé pip via easy_install, ce qui m'a probablement causé ce mal à la tête. Je pense que c'est comme ça que vous devriez le faire de nos jours ..

$ Sudo apt-get install python-pip python-dev build-essential 
$ Sudo pip install --upgrade pip 
$ Sudo pip install --upgrade virtualenv
31
Stephan

J'ai eu ce problème quand j'utilisais homebrew. Voici la solution du problème # 269

python -m pip install --upgrade --force pip
25
Louis Cremen

Essayez de réinstaller avec le script get-pip:

wget https://bootstrap.pypa.io/get-pip.py
Sudo python3 get-pip.py

Cela provient de la page pip Github et a fonctionné pour moi.

11
pavan

Si vous êtes sur CentOS, assurez-vous que le paquet YUM "python-setuptools" est installé.

yum install python-setuptools

Corrigé pour moi.

7
Dave Lancea

J'ai été capable de résoudre ceci comme suit:

$ brew update
$ brew doctor
$ brew uninstall python
$ brew install python --build-from-source    # took ~5 mins
$ python --version                           # => Python 2.7.9
$ pip install --upgrade pip

Je cours avec les choses suivantes (à compter du 2 janvier 2015):

OS X Yosemite
Version 10.10.1

$ brew -v
Homebrew 0.9.5

$ python --version
Python 2.7.9

$ ipython --version
2.2.0

$ pip --version
pip 6.0.3 from /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-6.0.3-py2.7.Egg (python 2.7)

$ which pip
/usr/local/bin/pip
6
hernamesbarbara

Les scripts obsolètes du sous-répertoire bin (Linux) ou Scripts (Windows) sont souvent à l'origine du problème. Je vais expliquer ce problème en utilisant je me suis rencontré à titre d'exemple.

J'avais virtualenv version 1.10 installé dans mon site site-packages (le fait que ce soit en utilisateur site-packages et non pas sytem site-packages n'est pas pertinent ici)

pdobrogost@Host:~$ which virtualenv
/home/users/pdobrogost/.local/bin/virtualenv
pdobrogost@Host:~$ virtualenv --version
1.10

Après l'avoir mis à niveau vers la version 1.11, j'ai eu l'erreur suivante:

pdobrogost@Host:~$ virtualenv --version  
Traceback (most recent call last):   
  File "/home/users/pdobrogost/.local/bin/virtualenv", line 5, in <module>
    from pkg_resources import load_entry_point   
File "build/bdist.linux-x86_64/Egg/pkg_resources.py", line 2701, in <module>
    return self.__dep_map   
File "build/bdist.linux-x86_64/Egg/pkg_resources.py", line 572, in resolve
    if insert: 
pkg_resources.DistributionNotFound: virtualenv==1.10

Le fichier /home/users/pdobrogost/.local/bin/virtualenv mentionné dans le message d'erreur ressemblait à ceci:

#!/opt/python/2.7.5/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==1.10','console_scripts','virtualenv'
__requires__ = 'virtualenv==1.10'
import sys
from pkg_resources import load_entry_point

if __== '__main__':
    sys.exit(
        load_entry_point('virtualenv==1.10', 'console_scripts', 'virtualenv')()
    ) 

Nous voyons ici que le script virtualenv n'a pas été mis à jour et nécessite toujours la version 1.10 de virtualenv précédemment installée.
Maintenant, réinstallez virtualenv comme ceci

pdobrogost@Host:~$ pip install --user --upgrade virtualenv
Downloading/unpacking virtualenv from https://pypi.python.org/packages/py27/v/virtualenv/virtualenv-1.11.1-py27-none-any.whl#md5=265770b61de41d34d2e9fdfddcdf034c
  Using download cache from /home/users/pdobrogost/.pip_download_cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fpy27%2Fv%2Fvirtualenv%2Fvirtualenv-1.11.1-py27-none-any.whl
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...

n'aide pas (ni pip install --user --upgrade --force-reinstall virtualenv), car le script /home/users/pdobrogost/.local/bin/virtualenv n'est pas modifié.

La seule façon de résoudre ce problème consiste à supprimer manuellement les scripts virtualenv * du dossier /home/users/pdobrogost/.local/bin/ et à installer à nouveau virtualenv. Après cela, les scripts nouvellement générés font référence à la version appropriée du paquet:

pdobrogost@Host:~$ virtualenv --version
1.11
6
Piotr Dobrogost

Je faisais face au même problème sous OSx. Mon stacktrace disait

raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: setuptools>=11.3

Puis j'ai fait ce qui suit

Sudo pip install --upgrade setuptools

Cela a résolu le problème pour moi. J'espère que quelqu'un trouvera cela utile.

4
Nabin

Sous Mac OS X (MBP), les problèmes suivants (tirés d'une autre réponse trouvée dans le présent document) ont résolu mes problèmes:

C02L257NDV33:~ jjohnson$ brew install pip
Error: No available formula for pip
Homebrew provides pip via: `brew install python`. However you will then
have two Pythons installed on your Mac, so alternatively you can:
    Sudo easy_install pip
C02L257NDV33:~ jjohnson$ Sudo easy_install pip

Clairement, la cause première est d'avoir une méthode secondaire pour installer python (dans mon cas, Homebrew). Espérons que les personnes responsables du script pip pourront remédier à ce problème car celui-ci est toujours d'actualité deux ans après avoir été signalé pour la première fois sur Stack Overflow.

2
Joe Johnson

Dans mon cas (problème de sam, mais d'autres paquets), il n'y avait pas de dépendance de version. Une séquence de désinstallation et d’installation de pip a été utile.

1
rhoerbe

J'ai eu ce problème parce que j'ai installé python/pip avec un étrange ~/.pydistutils.cfg que je ne me souvenais pas d'avoir écrit. Supprimé, réinstallé (avec pybrew), et tout allait bien.

1
polm23