Je déploie une application Django sur un serveur de développement et je rencontre cette erreur lorsque je lance pip install -r 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é avec setuptools
. Au départ, je pensais que cela pourrait ne pas être installé sur Python dans virtualenv, j'ai donc installé setuptools 2.6
(même version que Python) sur les sites-packages Python dans virtualenv avec la commande suivante:
sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages
EDIT: Cela ne se produit qu'à l'intérieur du virtualenv. Si j'ouvre une console en dehors de virtualenv, elle pkg_resources
est présente, mais j'obtiens toujours la même erreur.
Des idées sur pourquoi pkg_resources
n'est pas sur le chemin?
python
django
virtualenv
setuptools
pip
igniteflow
la source
la source
pip uninstall -y setuptools
et a ensuitepip install setuptools==39.1.0
travaillé pour moi sur Anaconda sur Windows 10.Réponses:
Mise à jour de juillet 2018
La plupart des gens devraient maintenant utiliser
pip install setuptools
(éventuellement avecsudo
).Certains peuvent avoir besoin de (re) installer le
python-setuptools
package via leur gestionnaire de paquets (apt-get install
,yum install
, etc.).Ce problème peut dépendre fortement de votre environnement d'exploitation et de développement. Voir l'héritage / autres réponses ci-dessous si ce qui précède ne fonctionne pas pour vous.
Explication
Ce message d'erreur est dû à un
setuptools
package Python manquant / cassé . Selon le commentaire de Matt M. et le numéro 581 de setuptools , le script d'amorçage mentionné ci-dessous n'est plus la méthode d'installation recommandée.Les instructions du script d'amorçage resteront ci-dessous, au cas où cela serait toujours utile à quiconque.
Réponse héritée
J'ai rencontré la même chose
ImportError
aujourd'hui en essayant d'utiliser pip. D'une manière ou d'une autre, lesetuptools
paquet avait été supprimé dans mon environnement Python.Pour résoudre le problème, exécutez le script d'installation pour
setuptools
:(ou si vous n'avez pas
wget
installé (par exemple OS X), essayezéventuellement avec
sudo
préfixé.)Si vous avez une version
distribute
ou une versionsetuptools
inférieure à 0.6, vous devrez d'abord la désinstaller. *Voir les instructions d'installation pour plus de détails.
* Si vous avez déjà un fonctionnement
distribute
, le mettre à niveau vers le "wrapper de compatibilité" vers lequel vous basculezsetuptools
est plus facile. Mais si les choses sont déjà cassées, n'essayez pas.la source
sudo python
si YMMV.easy_install pip
de faire fonctionner à nouveau pip. Mon problème est survenu lors de la mise à niveau de Cygwin de Python de 2.6 à 2.7 derrière mon dos lors de l'installation de quelque chose de non lié.distribute
est obsolète etsetuptools
son successeur. Je vais modifier la réponse pour la mettre à jour, mais je ne suis pas sûr que ce soit la meilleure façon de la gérer, donc quelqu'un peut annuler la modification, auquel cas: Allez ici .sudo
, comme @Nik l'a noté ci-dessus?corrigé pour moi dans Debian. On dirait que la désinstallation de certains packages .deb (ensemble tordu dans mon cas) a rompu le chemin utilisé par python pour trouver les packages
la source
J'ai vu cette erreur en essayant d'installer rhodecode sur un virtualenv sur ubuntu 13.10. Pour moi, la solution était de courir
avant d'exécuter le rhodecode easy_install.
la source
pip install --upgrade setuptools
seul a fait l'affaire pour moi.pip install --upgrade setuptools --user
pip install --upgrade setuptools
cause de la même erreur:No module named pkg_resources
pip install --upgrade distribute
a fait le travail lors de l'utilisation du module venv de Python 3.--distribute
Drapeau pris en charge par virtualenv pour Python 2 , mais il faut installerdistribute
sur les environnements créés parvenv
.Cela m'est aussi arrivé. Je pense que le problème se produira si le fichier requirements.txt contient une entrée "distribuer" alors que virtualenv utilise setuptools. Pip va essayer de patcher setuptools pour faire de la place pour la distribution, mais malheureusement il échouera à mi-chemin.
La solution simple est de supprimer votre virtualenv actuel puis de créer un nouveau virtualenv avec l'argument --distribute.
Un exemple si vous utilisez virtualenvwrapper:
la source
pip install -U distribute
après l'activation de l'environnement fera l'affaire.Dans CentOS 6, l'installation du paquet python-setuptools l'a corrigé.
la source
sudo apt-get install python3-setuptools
sudo yum reinstall python-setuptools
corrigé.J'ai eu cette erreur plus tôt et la réponse la mieux notée m'a donné une erreur en essayant de télécharger le
ez_setup.py
fichier. J'ai trouvé une autre source pour que vous puissiez exécuter la commande:J'ai constaté que je devais également utiliser
sudo
pour le faire fonctionner, vous devrez donc peut-être exécuter:J'ai également créé un autre emplacement à partir duquel le script peut être téléchargé:
https://gist.github.com/ajtrichards/42e73562a89edb1039f3
la source
curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python
Après avoir essayé plusieurs de ces réponses, puis avoir contacté un collègue, ce qui a fonctionné pour moi sur Ubuntu 16.04 était:
Dans mon cas, ce n'était qu'une ancienne version de l'oreiller 3.1.1 qui avait des problèmes (l'oreiller 4.x fonctionnait bien), et c'est maintenant résolu!
la source
J'avais besoin d'un peu plus de sudo. Ensuite, utilisez easy_install pour installer pip. Travaux.
la source
sudo
ne devrait pas être requis dans un virtualenvJ'ai corrigé l'erreur avec virtualenv en faisant ceci:
Copié pkg_resources.py depuis
/Library/Python/2.7/site-packages/setuptools
à
/Library/Python/2.7/site-packages/
Cela peut être une solution de contournement bon marché, mais cela a fonctionné pour moi.
.
Si les outils de configuration n'existent pas, vous pouvez essayer d'installer system-site-packages en tapant
virtualenv --system-site-packages /DESTINATION DIRECTORY
, en changeant la dernière partie pour être le répertoire dans lequel vous souhaitez installer.pkg_rousources.py
sera sous ce répertoire dans lib / python2.7 / site-packagesla source
Pour moi, cette erreur était due au fait que j'avais un sous-répertoire appelé "site"! Je ne sais pas si c'est un bug pip ou non, mais j'ai commencé avec:
/some/dir/requirements.txt / some / dir / site /
pip install -r requirements.txt ne fonctionnerait pas, me donnant l'erreur ci-dessus!
renommer le sous-dossier de "site" en "src" a résolu le problème! Peut-être que pip recherche des "sites-packages"? Fou.
la source
J'ai eu ce problème lorsque j'ai activé mon virtualenv en tant qu'utilisateur différent de celui qui l'a créé. Cela semble être un problème d'autorisation. J'ai découvert cela lorsque j'ai essayé la réponse de @cwc et l'ai vu dans la sortie:
Revenir à l'utilisateur qui a créé virtualenv, puis exécuter la
pip install
commande d' origine s'est déroulé sans problème. J'espère que cela t'aides!la source
J'ai aussi eu ce problème aujourd'hui. J'ai seulement eu le problème dans l'environnement virtuel.
La solution pour moi était de désactiver l'environnement virtuel, de supprimer puis de désinstaller virtualenv avec pip et de le réinstaller. Après cela, j'ai créé un nouvel env virtuel pour mon projet, puis pip a bien fonctionné à la fois dans l'environnement virtuel comme dans l'environnement normal.
la source
On dirait qu'ils se sont éloignés de bitbucket et sont maintenant sur github ( https://github.com/pypa/setuptools )
La commande à exécuter est:
la source
Pour moi, cela s'est avéré être un problème d'autorisations
site-packages
. Comme c'est seulement mon environnement de développement, j'ai augmenté les autorisations et tout fonctionne à nouveau:la source
Si vous rencontrez ce problème avec une application installée via conda , la solution (comme indiqué dans ce rapport de bogue) consiste simplement à installer les outils de configuration avec:
la source
Sous Windows, avec python 3.7, cela a fonctionné pour moi:
--user
installe les packages dans votre répertoire personnel, qui ne nécessite pas de privilèges d'administrateur.la source
la résolution simple est que vous pouvez utiliser conda pour mettre à niveau setuptools ou l'environnement entier. (Spécialement pour les utilisateurs de Windows.)
si setuptools est supprimé, vous devez réinstaller setuptools.
si toutes ces méthodes ne fonctionnent pas, vous pouvez mettre à jour l'environnement conda. Mais je ne vous recommande pas de réinstaller et de désinstaller certains packages car cela aggraverait la situation.
la source
Apparemment, il vous manque des setuptools. Certaines versions de virtualenv utilisent distribuer au lieu de setuptools par défaut. Utilisez l'
--setuptools
option lors de la création du virtualenv ou définissez leVIRTUALENV_SETUPTOOLS=1
dans votre environnement.la source
Dans mon cas, j'avais initialement installé 2 versions de python et plus tard, j'avais supprimé l'ancienne. Donc, tout en créant l'environnement virtuel
faisait référence au python désinstallé
Ce qui a fonctionné pour moi
Il en va de même lorsque vous essayez d'utiliser pip.
la source
Je suis tombé sur cette réponse lorsque j'essayais de suivre ce guide pour OSX . Ce qui a fonctionné pour moi, c'est qu'après avoir couru
python get-pip
, je devais AUSSIeasy_install pip
. Cela a résolu le problème de ne pas pouvoir exécuter pip du tout. J'ai fait installer un tas de vieux trucs macport. Cela peut avoir été en conflit.la source
Sur Windows, j'ai installé pip téléchargé depuis www.lfd.uci.edu/~gohlke/pythonlibs/ puis j'ai rencontré ce problème.
J'aurais donc dû installer setuptools (easy_install) en premier.
la source
réinstallez simplement votre
setuptools
par:alors tout ira bien.
la source
J'utilise CentOS 6.7, et mon python venait de passer de 2.6.6 à 2.7.11, après avoir essayé tant de réponses différentes, enfin la suivante fait le travail:
J'espère aider quelqu'un dans la même situation.
la source
Aucune des réponses publiées n'a fonctionné pour moi, j'ai donc réinstallé pip et cela a fonctionné!
(référence: http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/ )
la source
J'ai rencontré ce problème après avoir mis à jour ma version d'Ubuntu. Il semble avoir traversé et supprimé les outils de configuration dans tous mes environnements virtuels.
Pour y remédier, j'ai réinstallé l'environnement virtuel dans le répertoire cible. Cela a nettoyé les outils de configuration manquants et a fait redémarrer les choses.
par exemple:
la source
Pour moi, une bonne solution consistait à utiliser l'
--no-download
option virtualenv (VIRTUALENV_NO_DOWNLOAD=1 tox
pour tox.)la source
Sur Opensuse 42.1, le problème suivant a été résolu:
la source
ImportError: Aucun module nommé pkg_resources: la solution est de réinstaller python pip en utilisant la commande suivante.
Étape: 1 Connectez-vous en tant qu'utilisateur root.
Étape: 2 Désinstallez le package python-pip s'il existe.
Étape: 3 Téléchargez des fichiers à l'aide de la commande wget (Téléchargement de fichier dans
pwd
)Étape: 4 Exécutez le fichier python.
Étape: 5 Finalement, exécutez la commande d'installation.
Remarque: L' utilisateur doit être root.
la source
J'ai rencontré cette erreur dans mon environnement Google App Engine. Et
pip install -t lib setuptools
résolu le problème.la source
Si vous utilisez Python 3, vous devez utiliser pip3 au lieu de pip. La commande ressemble à
$ pip3 install requirements.txt
la source