198 votos

Ningún módulo denominado pkg_resources

Yo soy de la implementación de una aplicación de Django a un dev server y estoy pegando este mensaje de error al ejecutar el 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 parece ser distribuido con setuptools. Inicialmente pensé que esto podría no estar instalado el python en el virtualenv, así que he instalado setuptools (2.6, la misma versión de Python) a Python site-packages en el virtualenv con el siguiente comando

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

EDITAR Esto sólo sucede en el interior de la virtualenv. Si abro una consola fuera de la virtualenv, a continuación, pkg_resources está presente

pero sigo obteniendo el mismo error. Alguna idea de por qué pkg_resources no está en la ruta?

422voto

cwc Puntos 3995

Me encontré con el mismo ImportError hoy al intentar usar el pip. De alguna manera, la setuptools paquete había sido eliminados en mi ambiente Python.

Para solucionar el problema, ejecute la secuencia de comandos de instalación para setuptools:

curl https://bootstrap.pypa.io/ez_setup.py | python

Si usted tiene cualquier versión de distribute, o cualquiera setuptools por debajo de 0,6, usted tiene que desinstalarlo primero.*

Consulte las Instrucciones de Instalación para más detalles.


* Si usted ya tiene un trabajo distribute, actualizarlo a la "compatibilidad contenedor" que cambia a setuptools es más fácil. Pero si las cosas ya están rotos, no trate de eso.

20voto

pram Puntos 645

También me pasó a mí. Yo creo que el problema va a pasar si el requirements.txt contiene un "distribuir" la entrada mientras que el virtualenv utiliza setuptools. Pip se trate de parche setuptools para hacer espacio para distribuir, pero por desgracia, se producirá un error a mitad de camino.

La solución más fácil es eliminar su actual virtualenv, a continuación, hacer un nuevo virtualenv, distribuir argumento.

Un ejemplo, si el uso de virtualenvwrapper:

$ deactivate
$ rmvirtualenv yourenv
$ mkvirtualenv yourenv --distribute
$ workon yourenv
$ pip install -r requirements.txt

15voto

Ali Akdurak Puntos 734

He visto este error al intentar instalar rhodecode a un virtualenv en ubuntu 13.10. Para mí, la solución fue correr

pip install --upgrade setuptools
pip install --upgrade distribute 

antes de ejecutar easy_install rhodecode.

9voto

ajtrichards Puntos 6389

He tenido este error anterior y la más alta calificación de la respuesta que me dio un error al intentar descargar el ez_setup.py archivo. He encontrado otra fuente de modo que puede ejecutar el comando:

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

Me pareció que yo también tenía que usar sudo para que funcione, así que puede que tenga que ejecutar:

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

También he creado otro lugar que el script se puede descargar desde:

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

3voto

mrgnw Puntos 385

He corregido el error con virtualenv haciendo esto:

Copiado pkg_resources.py de

/Library/Python/2.7/site-packages/setuptools

a

/Library/Python/2.7/site-packages/

Esto puede ser una forma barata solución, pero a mí me funcionó.

.

Si el programa de instalación de herramientas no existe, puedes probar a instalar el sistema site-packages escribiendo virtualenv --system-site-packages /DESTINATION DIRECTORY, cambiando la última parte para ser el directorio en el que desea instalar. pkg_rousources.py será en virtud de que el directorio lib/python2.7/site-packages

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X