Estoy implementando una aplicación Django en un servidor de desarrollo y estoy recibiendo 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 <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
pkg_resources
parece estar 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 de 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?
python
django
virtualenv
setuptools
pip
igniteflow
fuente
fuente
pip uninstall -y setuptools
y luegopip install setuptools==39.1.0
trabajó para mí en Anaconda en Windows 10.Respuestas:
Actualización de julio de 2018
La mayoría de las personas ahora deberían usar
pip install setuptools
(posiblemente consudo
).Algunos pueden necesitar para (re) instalar el
python-setuptools
paquete a través de su gestor de paquetes (apt-get install
,yum install
, etc.).Este problema puede depender mucho 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 es causado por un
setuptools
paquete de Python faltante / roto . Según el comentario # 581 del comentario de Matt M. y las herramientas de configuración , el script de arranque mencionado a continuación ya no es el método de instalación recomendado.Las instrucciones del script bootstrap permanecerán a continuación, en caso de que siga siendo útil para alguien.
Respuesta heredada
Encontré lo mismo
ImportError
hoy mientras trataba de usar pip. De alguna manera, elsetuptools
paquete había sido eliminado en mi entorno Python.Para solucionar el problema, ejecute el script de configuración para
setuptools
:(o si no tiene
wget
instalado (por ejemplo, OS X), intenteposiblemente con
sudo
antepuesto.)Si tiene alguna versión de
distribute
osetuptools
inferior a 0.6, primero deberá desinstalarla. *Consulte las instrucciones de instalación para obtener más detalles.
* Si ya tiene un trabajo
distribute
, actualizarlo al "contenedor de compatibilidad" que lo cambia a ustedsetuptools
es más fácil. Pero si las cosas ya están rotas, no lo intentes.fuente
sudo python
aunque YMMV.easy_install pip
hacer que pip volviera a funcionar. Mi problema surgió cuando Cygwin actualizó Python de 2.6 a 2.7 a mis espaldas al instalar algo no relacionado.distribute
es obsoleta ysetuptools
es su sucesora. Editaré la respuesta para actualizarla, pero no estoy seguro de que sea la mejor manera de manejarla, por lo que alguien puede revertir la edición, en cuyo caso: Vaya aquí .sudo
usaste, como anotó @Nik arriba?me lo arregló en Debian. Parece que desinstalar algunos paquetes .deb (conjunto retorcido en mi caso) ha roto la ruta que usa Python para encontrar paquetes
fuente
He visto este error al intentar instalar rhodecode en un virtualenv en ubuntu 13.10. Para mí la solución era correr
antes de ejecutar easy_install rhodecode.
fuente
pip install --upgrade setuptools
solo hizo el truco para mí.pip install --upgrade setuptools --user
pip install --upgrade setuptools
debido al mismo error:No module named pkg_resources
pip install --upgrade distribute
hizo el trabajo al usar el módulo venv de Python 3. El--distribute
indicador virtual de Python 2 admite , pero uno tiene que instalardistribute
en entornos creados porvenv
.También me pasó a mí. Creo que el problema sucederá si require.txt contiene una entrada "distribuir" mientras virtualenv usa setuptools. Pip intentará parchear las herramientas de configuración para dejar espacio para la distribución, pero desafortunadamente fallará a la mitad.
La solución fácil es eliminar su virtualenv actual y luego hacer un nuevo virtualenv con el argumento --distribute.
Un ejemplo si usa virtualenvwrapper:
fuente
pip install -U distribute
después de activar el entorno hará el trabajo.En CentOS 6, la instalación del paquete python-setuptools lo arregló.
fuente
sudo apt-get install python3-setuptools
sudo yum reinstall python-setuptools
solucionó.Tuve este error anteriormente y la respuesta mejor calificada me dio un error al intentar descargar el
ez_setup.py
archivo. Encontré otra fuente para que pueda ejecutar el comando:Descubrí que también tenía que usar
sudo
para que funcionara, por lo que es posible que deba ejecutar:También he creado otra ubicación desde la que se puede descargar el script:
https://gist.github.com/ajtrichards/42e73562a89edb1039f3
fuente
curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python
Después de probar varias de estas respuestas y luego contactar a un colega, lo que funcionó para mí en Ubuntu 16.04 fue:
En mi caso, solo era una versión antigua de la almohada 3.1.1 que tenía problemas (la almohada 4.x funcionó bien), ¡y eso ya está resuelto!
fuente
Necesitaba un poco más de sudo. Luego usé easy_install para instalar pip. Trabajos.
fuente
sudo
no debería ser necesario en un virtualenvArreglé 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/
Esta puede ser una solución económica, pero funcionó para mí.
.
Si las herramientas de configuración no existen, puede intentar instalar system-site-packages 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-packagesfuente
¡Para mí, este error fue causado porque tenía un subdirectorio llamado "sitio"! No sé si esto es un error pip o no, pero comencé con:
/some/dir/requirements.txt / some / dir / site /
pip install -r required.txt no funcionaría, ¡dándome el error anterior!
cambiar el nombre de la subcarpeta de "sitio" a "src" solucionó el problema. ¿Quizás pip está buscando "paquetes de sitio"? Loco.
fuente
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:
Regresar al usuario que creó el virtualenv, luego ejecutar el
pip install
comando original fue sin problemas. ¡Espero que esto ayude!fuente
Tuve este problema hoy también. Solo tengo el problema dentro del entorno 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 dentro del entorno virtual como en el entorno normal.
fuente
Parece que se han alejado de Bitbucket y ahora están en github ( https://github.com/pypa/setuptools )
El comando para ejecutar es:
fuente
Para mí, resultó ser un problema de permisos
site-packages
. Como solo es mi entorno de desarrollo, aumenté los permisos y todo está funcionando nuevamente:fuente
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 herramientas de configuración con:
fuente
En Windows, con Python 3.7, esto funcionó para mí:
--user
instala paquetes en su directorio de inicio, que no requiere privilegios de administrador.fuente
La resolución simple es que puede usar conda para actualizar setuptools o todo el entorno. (Especialmente para usuarios de Windows).
Si se eliminan las herramientas de configuración, debe instalarlas nuevamente.
Si estos métodos no funcionan, puede actualizar el entorno de conda. Pero no le recomiendo que necesite reinstalar y desinstalar algunos paquetes porque después de eso agravará la situación.
fuente
Aparentemente te faltan herramientas de configuración. Algunas versiones virtualenv usan distribuir en lugar de herramientas de configuración por defecto. Use la
--setuptools
opción cuando cree el virtualenv o configure elVIRTUALENV_SETUPTOOLS=1
en su entorno.fuente
En mi caso, tenía 2 versiones de python instaladas inicialmente y luego eliminé la anterior. Entonces, al crear el entorno virtual
se refería a la pitón desinstalada
Que funciono para mi
Lo mismo es cierto cuando intentas usar pip.
fuente
Encontré esta respuesta cuando intentaba seguir esta guía para OSX . Lo que funcionó para mí fue que, después de correr
python get-pip
, TAMBIÉN tuve que hacerloeasy_install pip
. Eso solucionó el problema de no poder ejecutar pip en absoluto. Me hizo tener un montón de cosas viejas MacPort instalado. Eso puede haber entrado en conflicto.fuente
En Windows, instalé pip descargado de www.lfd.uci.edu/~gohlke/pythonlibs/ y luego encontré este problema.
Entonces debería haber instalado setuptools (easy_install) primero.
fuente
simplemente reinstale su
setuptools
por:entonces todo estará bien.
fuente
Yo uso CentOS 6.7, y mi python acababa de actualizar de 2.6.6 a 2.7.11, después de probar tantas respuestas diferentes, finalmente la siguiente hace el trabajo:
Espero ayudar a alguien en la misma situación.
fuente
Ninguna de las respuestas publicadas funcionó para mí, así que reinstalé pip y funcionó.
(referencia: http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/ )
fuente
Me encontré con este problema después de actualizar mi compilación de Ubuntu. Parece haber pasado y eliminado las herramientas de configuración en todos mis entornos virtuales.
Para remediar esto, reinstalé el entorno virtual nuevamente en el directorio de destino. Esto limpió las herramientas de configuración faltantes y volvió a ejecutar las cosas.
p.ej:
fuente
Para mí, una buena solución era usar la
--no-download
opción virtualenv (VIRTUALENV_NO_DOWNLOAD=1 tox
para tox.)fuente
En Opensuse 42.1, lo siguiente solucionó este problema:
fuente
ImportError: ningún módulo llamado pkg_resources: la solución es reinstalar python pip usando el siguiente comando que se encuentra debajo.
Paso: 1 Inicie sesión en el usuario root.
Paso: 2 Desinstale el paquete python-pip si existe.
Paso: 3 Descargar archivos usando el comando wget (Descarga de archivos en
pwd
)Paso: 4 Ejecute el archivo Python.
Paso: 5 Finalizar el comando de instalación.
Nota: El usuario debe ser root.
fuente
Experimenté ese error en mi entorno de Google App Engine. Y
pip install -t lib setuptools
solucionó el problema.fuente
Si está utilizando Python 3, debe usar pip3 en lugar de pip. El comando se parece a
$ pip3 install requirements.txt
fuente