526 votes

Aucun module nommé pkg_resources

Je suis le déploiement d'un Django app à un serveur de dev et je suis de frapper cette erreur quand je lance pip install requirements.txt:

Traceback (most recent call last):
  File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

pkg_resources semble être distribués avec setuptools. Au départ, j'ai pensé que cela pourrait ne pas être installé à l'python dans le virtualenv j'ai donc installé setuptools (2.6, même version que la version de Python) pour le Python site-packages dans le virtualenv avec la commande suivante

sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages

MODIFIER Cela se produit uniquement à l'intérieur de la virtualenv. Si j'ouvre une console à l'extérieur de la virtualenv puis pkg_resources est présent

mais je reçois toujours le même message d'erreur. Toutes les idées pour lesquelles pkg_resources n'est pas sur le chemin?

718voto

cwc Points 3995

J'ai rencontré le même ImportError aujourd'hui en essayant d'utiliser pip. 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://bootstrap.pypa.io/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.

65voto

Ali Akdurak Points 734

J’ai vu cette erreur en essayant d’installer rhodecode sur un virtualenv sur ubuntu 13.10. Pour moi, la solution consistait à exécuter

avant que je lance easy_install rhodecode.

37voto

pram Points 645

Il est également arrivé à moi. Je pense que le problème va se passer si la requirements.txt contient une entrée « distribuer », tandis que le virtualenv utilise setuptools. PEP va essayer à patch setuptools faire place à distribuer, mais malheureusement, il échouera à mi-chemin.

La solution simple est de supprimer votre virtualenv actuelle puis faire un nouveau virtualenv avec l’option--distribuer argument.

Par exemple si à l’aide de virtualenvwrapper :

14voto

ajtrichards Points 6389

J'ai eu cette erreur plus tôt et le plus élevé noté réponse m'a donné une erreur en essayant de télécharger l' ez_setup.py le fichier. J'ai trouvé une autre source de sorte que vous pouvez exécuter la commande:

curl http://peak.telecommunity.com/dist/ez_setup.py | python

J'ai trouvé que j'avais aussi utiliser sudo à le faire fonctionner, de sorte que vous devrez peut-être exécuter:

sudo curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python

J'ai également créé un autre endroit que le script peut être téléchargé à partir de:

https://gist.github.com/ajtrichards/42e73562a89edb1039f3

6voto

mrgnw Points 385

J’ai corrigé l’erreur avec virtualenv en procédant ainsi :

Copié de pkg_resources.py de

``

À

``

Cela peut être une solution bon marchée, mais cela a fonctionné pour moi.

.

Si les outils de configuration n’existe pas, vous pouvez essayer d’installer les packages-site-système en tapant , changeant la dernière partie pour être le répertoire que vous souhaitez installer à. sera celui du répertoire lib/python2.7/site-packages

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