82 votes

Quelle est la cause de ImportError: Aucun module nommé pkg_resources après la mise à niveau de Python sur os X?

Je viens de mettre à jour Python 2.6.4 sur mon Mac. J'ai installé le pack dmg.

Les binaires ne semble pas régler correctement mon Python path, j'ai donc ajouté '/usr/local/lib/python2.6/site-packages' en .bash_profile

>>> pprint.pprint(sys.path)  
['',
'/Users/Bryan/work/django-trunk', 
'/usr/local/lib/python2.6/site-packages',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.zip',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload',  
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages']

Apparemment ce n'est pas tous les chemins parce que je ne peux pas courir iPython.

$ ipython  
Traceback (most recent call last):  
  File "/usr/local/bin/ipython", line 5, in <module>  
  from pkg_resources import load_entry_point  
ImportError: No module named `pkg_resources`

J'ai fait des recherches sur Google et je ne peux pas vraiment comprendre comment installer pkg_resources ou assurez-vous qu'il est sur le chemin.

Que dois-je faire pour résoudre ce problème?

76voto

cwc Points 3995

J'ai rencontré le même ImportError. En quelque sorte l' setuptools paquet avait été supprimé dans mon environnement Python.

Pour résoudre ce problème, exécutez le script d'installation pour setuptools:

curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python

Si vous avez n'importe quelle version de distribute, ou de tout setuptools inférieures à 0,6, vous devez d'abord la désinstaller.*

Voir les Instructions d'Installation pour plus de détails.


* Si vous avez déjà un distribute, la mise à niveau à la "compatibilité wrapper" qui vous bascule sur setuptools est plus facile. Mais si les choses sont déjà cassé, n'essayez pas que.

74voto

Ned Deily Points 40248

[Mise à JOUR] TL;DR pkg_resources est fournie soit par Distribuer ou de setuptools.

[Mise à JOUR 2] Comme annoncé lors de la PyCon 2013, l' Distribute et setuptools des projets ont re-fusionné. Distribute est maintenant obsolète et il vous suffit d'utiliser le nouveau courant setuptools. Essayez ceci:

curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py

Ou, mieux, utiliser un courant pip comme l'interface de haut niveau et qui utilisera setuptools sous les couvertures.

[Plus de répondre à l'OP de problème spécifique]:

Vous ne dites pas dans votre question, mais je suis en supposant que vous avez mis à niveau à partir de l'Apple Python (2.5 10.5 ou 2.6.1 sur 10.6) ou que vous avez mis à niveau à partir d'un python.org Python 2.5. Dans aucun de ces cas, le point important est que chaque Python instance dispose de sa propre bibliothèque, y compris son propre site-packages de la bibliothèque, qui est l'endroit où les paquets supplémentaires sont installés. (Et aucun d'entre eux utilisent /usr/local/lib par défaut, par le chemin.) Cela signifie que vous aurez besoin d'installer les paquets dont vous avez besoin pour votre nouvelle version 2.6 de python. La meilleure façon de le faire est d'abord de s'assurer que la nouvelle python2.6 apparaît en premier sur votre recherche, $PATH (qui est, en tapant python2.6 invoque comme prévu); la python2.6 programme d'installation devrait avoir modifié votre .bash_profile mettre son cadre bin à l'avant de l' $PATH. Ensuite, installez easy_install à l'aide de setuptools suivant les instructions. L' pkg_resources module est automatiquement installé par cette étape.

Ensuite, utilisez la nouvellement installé la version d' easy_install (ou pip) pour installer ipython.

easy_install ipython

ou

pip install ipython

Il devrait automatiquement obtenir installé à la bonne site-packages emplacement pour que python instance et vous devriez être bon d'aller.

7voto

vutran Points 456

En cas de mise à niveau de votre python sur mac os 10.7 et que pkg_resources ne fonctionne pas, le moyen le plus simple de résoudre ce problème consiste à réinstaller setuptools comme indiqué par Ned ci-dessus.

 sudo pip install setuptools --upgrade
or sudo easy_install install setuptools --upgrade
 

3voto

Bryan McLemore Points 3773

Sur mon système (OSX 10.6) que le paquet est à

J’espère que vous aide à comprendre s’il est absent ou tout simplement pas sur votre chemin.

1voto

Jack M. Points 8224

Alors que je n’utilise pas ipython, il existe différentes versions de python 2.5 et 2.6 de python. Si vous ne l’avez pas déjà fait, essayez la mise à niveau ipython ?
Voir l’ipython page de téléchargement pour plus d’informations.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X