Ningún módulo llamado pkg_resources

Estoy implementando una aplicación Django en un servidor de desarrollo y estoy alcanzando este error cuando ejecuto pip install -r requirements.txt :

 Traceback (most recent call last): File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in  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 en Python en virtualenv, así que instalé setuptools 2.6 (la misma versión que Python) en los paquetes de sitio de Python en 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 solo sucede dentro del virtualenv. Si abro una consola fuera de virtualenv, entonces pkg_resources está presente, pero sigo recibiendo el mismo error.

¿Alguna idea de por qué pkg_resources no está en el camino?

Actualización de Julio 2018

La mayoría de la gente ahora debería usar pip install setuptools (posiblemente con sudo ).

Algunos pueden necesitar (re) instalar el paquete python-setuptools través de su administrador de paquetes ( apt-get install , yum install , etc.).

Este problema puede ser altamente dependiente de su sistema operativo y entorno de desarrollo. Vea el legado / otras respuestas a continuación si lo anterior no funciona para usted.

Explicación

Este mensaje de error se debe a un paquete de setuptools Python faltante / roto. Por el comentario de Matt M. y el problema de configuración # 581 , la secuencia de comandos de arranque mencionada a continuación ya no es el método de instalación recomendado.

Las instrucciones de la secuencia de comandos de arranque se mantendrán a continuación, en caso de que aún sean útiles para alguien.

Respuesta legada

Encontré el mismo ImportError hoy mientras intentaba usar pip. De alguna manera, el paquete setuptools había sido eliminado en mi entorno Python.

Para solucionar el problema, ejecute el script de configuración para setuptools :

 wget https://bootstrap.pypa.io/ez_setup.py -O - | python 

(o si no tiene instalado wget (por ejemplo, OS X), intente

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

posiblemente con sudo antepuesto.)

Si tiene alguna versión de distribute o alguna setuptools inferior a 0.6, primero deberá desinstalarla. *

Vea las instrucciones de instalación para más detalles.


* Si ya tiene una distribute funcionamiento, es más fácil actualizarla a la “envoltura de compatibilidad” que lo cambia a setuptools . Pero si las cosas ya están rotas, no intentes eso.

 sudo apt-get install --reinstall python-pkg-resources 

Lo arreglé para mí en Debian. Parece que la desinstalación de algunos paquetes .deb (conjunto retorcido en mi caso) ha roto la ruta que Python usa para encontrar paquetes

He visto este error al intentar instalar el código de rodamiento en 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.

También me pasó a mí. Creo que el problema sucederá si Requirements.txt contiene una entrada de “distribución” mientras que virtualenv utiliza setuptools. Pip intentará parchear las herramientas de configuración para hacer espacio para la distribución, pero desafortunadamente fallará a la mitad.

La solución fácil es eliminar su virtualenv actual y luego crear un virtualenv nuevo con el argumento –distribute.

Un ejemplo si usa virtualenvwrapper:

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

En CentOS 6, la instalación del paquete python-setuptools lo solucionó.

 yum install python-setuptools 

Tuve este error antes y la respuesta con la calificación más alta me dio un error al intentar descargar el archivo ez_setup.py . Encontré otra fuente para que pueda ejecutar el comando:

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

Descubrí que también tenía que usar sudo para que funcionara, por lo que es posible que necesites ejecutar:

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

También he creado otra ubicación desde donde se puede descargar el script:

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

Necesitaba un poco más de sudo. Luego usé easy_install para instalar pip. Trabajos.

 sudo wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python sudo easy_install pip 

Después de probar varias de estas respuestas, luego hablar con un colega, lo que me funcionó en Ubuntu 16.04 fue:

 pip install --force-reinstall -U setuptools pip install --force-reinstall -U pip 

En mi caso, fue solo una versión antigua de la almohada 3.1.1 la que tuvo problemas (la almohada 4.x funcionó bien), ¡y ahora está resuelto!

Arreglé el error con virtualenv haciendo esto:

Copiado pkg_resources.py desde

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

a

/Library/Python/2.7/site-packages/

Esto puede ser una solución barata, pero funcionó para mí.

.

Si las herramientas de configuración no existen, puede intentar instalar los paquetes de sitio del sistema escribiendo virtualenv --system-site-packages /DESTINATION DIRECTORY , cambiando la última parte para que sea el directorio en el que desea instalar. pkg_rousources.py estará debajo de ese directorio en lib / python2.7 / site-packages

Para mí, este error fue causado porque tenía un subdirectorio llamado “sitio”. No sé si esto es un error de pip o no, pero empecé con:

/some/dir/requirements.txt / some / dir / site /

pip install -r Requirements.txt no funcionaría, ¡me da el error anterior!

¡cambiar el nombre de la subcarpeta de “sitio” a “src” solucionó el problema! Tal vez pip está buscando “paquetes de sitio”? Loco.

Tuve este problema cuando activé mi virtualenv como un usuario diferente al que lo creó. Parece ser un problema de permiso. Descubrí esto cuando probé la respuesta de @cwc y vi esto en la salida:

 Installing easy_install script to /path/env/bin error: /path/env/bin/easy_install: Permission denied 

Volver al usuario que creó el virtualenv, luego ejecutar el comando de pip install original sin problemas. ¡Espero que esto ayude!

Tuve este problema hoy también. Solo tengo el problema dentro del env virtual.

La solución para mí fue desactivar el entorno virtual, eliminar y luego desinstalar virtualenv con pip y reinstalarlo. Después de eso, creé un nuevo entorno virtual para mi proyecto, luego pip funcionó bien tanto en el entorno virtual como en el entorno normal.

Parece que se han alejado de bitbucket y ahora están en github ( https://github.com/pypa/setuptools )

El comando para ejecutar es:

 wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python 

Para mí, resultó ser un problema de permisos en site-packages . Como solo es mi entorno de desarrollo, aumenté los permisos y todo está funcionando de nuevo:

 sudo chmod -R a+rwx /path/to/my/venv/lib/python2.7/site-packages/ 

Si tiene este problema con una aplicación instalada a través de conda , la solución (como se indica en este informe de error) es simplemente instalar las herramientas de configuración con:

 conda install setuptools 

Al parecer te estás perdiendo setuptools. Algunas versiones de virtualenv utilizan distribuir en lugar de setuptools de forma predeterminada. Utilice la opción --setuptools al crear el virtualenv o configure VIRTUALENV_SETUPTOOLS=1 en su entorno.

Encontré esta respuesta cuando intentaba seguir esta guía para OSX . Lo que funcionó para mí fue que, después de ejecutar python get-pip , TAMBIÉN easy_install pip . Eso solucionó el problema de no poder ejecutar pip en absoluto. Tenía un montón de cosas macport viejas instaladas. Eso puede haber entrado en conflicto.

En Windows, instalé pip descargado de http://www.lfd.uci.edu/~gohlke/pythonlibs/ y luego resolví este problema.

Así que debería haber instalado setuptools (easy_install) primero.

solo reinstala tu setuptools por:

 $ sudo wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefefe74e $ tar -zxvf setuptools-0.6c11.tar.gz $ cd setuptools-0.6c11/ $ sudo python setup.py build $ sudo python setup.py install $ sudo pip install --upgrade setuptools 

entonces todo estará bien.

Utilizo CentOS 6.7, y mi python simplemente se actualizó de 2.6.6 a 2.7.11, después de haber intentado tantas respuestas diferentes, finalmente la siguiente hace el trabajo:

 sudo yum install python-devel 

Espero ayudar a alguien en la misma situación.

¡Ninguna de las respuestas publicadas funcionó para mí, así que reinstalé pip y funcionó!

 sudo apt-get install python-setuptools python-dev build-essential sudo easy_install pip pip install --upgrade setuptools 

(referencia: http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/ )

Me encontré con este problema después de actualizar mi comstackción de Ubuntu. Parece que ha pasado y eliminado las herramientas de configuración en todos mis entornos virtuales.

Para remediar esto, reinstalé el entorno virtual en el directorio de destino. Esto limpió las herramientas de configuración que faltaban y funcionó de nuevo.

p.ej:

 ~/RepoDir/TestProject$ virtualenv TestEnvironmentDir 

Para mí, una buena solución fue utilizar la --no-download para virtualenv ( VIRTUALENV_NO_DOWNLOAD=1 tox para tox.)

En Opensuse 42.1 lo siguiente solucionó este problema:

 zypper in python-Pygments 

ImportError: no hay un módulo llamado pkg_resources: la solución es reinstalar python pip usando el siguiente comando que se encuentra debajo.

Paso: 1 Inicia sesión en usuario root.

 sudo su root 

Paso: 2 Desinstalar el paquete python-pip si existe.

 apt-get purge -y python-pip 

Paso: 3 Descargar archivos usando el comando wget (Descarga de archivos en pwd )

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

Paso: 4 Ejecuta el archivo python.

 python ./get-pip.py 

Paso: 5 Finaly exicute comando de instalación.

 apt-get install python-pip 

Nota: El usuario debe ser root.

Experimenté ese error en mi entorno de Google App Engine. Y pip install -t lib setuptools solucionó el problema.

Si está utilizando Python 3, debe usar pip3 en lugar de pip. El comando se parece a $ pip3 install requirements.txt

He tenido el mismo problema cuando usé la instalación fácil para instalar pip para Python 2.7.14. Para mí, la solución fue (podría no ser la mejor, pero funcionó para mí, y esta es probablemente la más sencilla) que la carpeta que contenía el easy-install.py también contenía una carpeta pkg_resources , y he copiado y pegado esta carpeta en la misma carpeta donde estaba mi script python27\Scripts ( python27\Scripts ). Desde entonces, también lo encontré en la python27\Lib\site-packages\pip-9.0.1-py2.7.egg\pip\_vendor , podría ser una mejor solución para modificar el archivo pip-script.py para importar esto.

yum -y install python-setuptools

configuro el Ceph hay un problema al ejecutar el comando "$ ceph-deploy new node1" , y ejecuto el comando "$ yum -y install python-setuptools" , luego el problema desapareció. Gracias

En mi caso, inicialmente tuve 2 versiones de python instaladas y luego eliminé la anterior. Así que mientras creamos el entorno virtual

 virtualenv venv 

Se refería a la python desinstalada.

Lo que funciono para mi

 python3 -m virtualenv venv 

Lo mismo es cierto cuando estás tratando de usar pip.