Ningún módulo llamado recursos pkg


Estoy implementando una aplicación Django en un servidor de desarrollo y estoy golpeando este error cuando corro 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 estar distribuido con setuptools. Inicialmente pensé que esto podría no estar instalado en python en virtualenv, así que instalé setuptools (2.6, misma versión que Python) en Python site-packages 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 afuera el virtualenv entonces pkg_resources está presente

Pero todavía estoy recibiendo el mismo error. Alguna idea de por qué pkg_resources no está en el camino?

Author: igniteflow, 2011-09-16

30 answers

Actualización de julio de 2018

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

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

Este problema puede depender en gran medida de su sistema operativo y entorno de desarrollo. Vea las respuestas heredadas / otras a continuación si lo anterior no funciona para usted.

Explicación

Este mensaje de error es causado por un paquete Python setuptools que falta/está roto. Per Matt M. y setuptools issue #581 , el script bootstrap al que se hace referencia a continuación ya no es el método de instalación recomendado.

Las instrucciones del script de bootstrap permanecerán debajo, en caso de que aún sea útil para alguien.

Respuesta heredada

Me encontré con el mismo ImportError hoy mientras intentaba usar pip. De alguna manera el paquete setuptools había sido borrado en mi entorno Python.

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

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

(o si no tiene wget instalado (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 cualquier setuptools por debajo de 0.6, tendrá que desinstalarlo primero.*

Ver Instrucciones de instalación para más detalles.


* Si ya tiene un distribute en funcionamiento, actualizarlo a la "envoltura de compatibilidad" que lo cambia a setuptools es más fácil. Pero si las cosas son ya está roto, no intentes eso.

 555
Author: cwc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-25 06:30:39
sudo apt-get install --reinstall python-pkg-resources

Lo arreglé para mí en Debian. Parece como desinstalar algunos .deb packages (twisted set en mi caso) ha roto la ruta que python usa para encontrar paquetes

 99
Author: Marek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-16 09:31:20

He visto este error al intentar instalar rhodecode en un virtualenv en ubuntu 13.10. Para mí la solución era ejecutar

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

Antes de ejecutar easy_install rhodecode.

 41
Author: Ali Akdurak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-19 00:40:49

También me pasó a mí. Creo que el problema ocurrirá si los requisitos.txt contiene una entrada "distribuir" mientras que el virtualenv utiliza setuptools. Pip intentará parchear setuptools para hacer espacio para distribuir, pero desafortunadamente fallará a mitad de camino.

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

Un ejemplo si se usa virtualenvwrapper:

$ deactivate
$ rmvirtualenv yourenv
$ mkvirtualenv yourenv --distribute
$ workon yourenv
$ pip install -r requirements.txt
 31
Author: pram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-22 21:13:04

En CentOS 6 instalando el paquete python-setuptools lo arreglamos.

yum install python-setuptools
 14
Author: Paul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-03 06:36:38

Tuve este error antes y la respuesta más calificada me dio un error al intentar descargar el archivo ez_setup.py. He encontrado 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 funcione, por lo que es posible que deba ejecutar:

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

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

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

 13
Author: ajtrichards,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-21 13:21:25

Necesitaba un poco más de sudo. Luego se usó easy_install para instalar pip. Obrar.

sudo wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
sudo easy_install pip
 7
Author: Tarion,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-21 13:20:39

Después de probar varias de estas respuestas, y luego llegar a un colega, lo que funcionó para mí en Ubuntu 16.04 fue:

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

En mi caso, solo una versión antigua de pillow 3.1.1 estaba teniendo problemas (pillow 4.x funcionó bien), y que ahora está resuelto!

 6
Author: ptim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-30 11:26:09

Arreglé 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 barata, 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á bajo ese directorio en lib/python2.7 / site-packages

 4
Author: mrgnw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-19 16:52:53

Para mí, este error fue causado porque tenía un subdirectorio llamado "site"! No se si esto es un error pip o no, pero empecé con:

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

Pip install-r requisitos.txt no funcionaría, dándome el error anterior!

Cambiar el nombre de la subcarpeta de "site" a "src" solucionado el problema! Tal vez pip está buscando "site-packages"? Loco.

 3
Author: jdg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-18 01:45:04

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

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

 2
Author: Martijn de Milliano,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-05 21:01:52

Yo también tuve este problema hoy. Sólo tengo el problema dentro del env virtual.

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

 2
Author: arno_v,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-08 11:04:48

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

El comando a ejecutar es:

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
 2
Author: shadyhill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-06 23:11:53

Para mí, resultó ser un problema de permisos en site-packages. Dado que es solo 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/
 2
Author: kat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-14 07:32:45

Aparentemente te estás perdiendo setuptools. Algunas versiones de virtualenv usan distribute en lugar de setuptools por defecto. Utilice la opción --setuptools al crear el virtualenv o establezca el VIRTUALENV_SETUPTOOLS=1 en su entorno.

 1
Author: Danilo Bargen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-24 12:50:24

Me encontré con esta respuesta cuando estaba tratando de seguir esta guía para OSX. Lo que funcionó para mí fue, después de correr python get-pip, también tuve QUE easy_install pip. Eso solucionó el problema de no poder ejecutar pip en absoluto. Yo tenía un montón de cosas viejas de Macport instaladas. Eso puede haber entrado en conflicto.

 0
Author: KitsuneYMG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-20 03:01:45

En Windows, instalé pip descargado desde www.lfd.uci.edu/~gohlke/pythonlibs / entonces se encontró con este problema.

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

 0
Author: metaphy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-16 05:37:51

Simplemente reinstale su 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.

 0
Author: Scott Yang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-23 06:50:22

Utilizo CentOS 6.7, y mi python fue simplemente actualizar de 2.6.6 a 2.7.11, después de probar tantas respuestas diferentes, finalmente la siguiente hace el trabajo:

sudo yum install python-devel

Espero ayudar a alguien en la misma situación.

 0
Author: shellbye,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-25 12:28:00

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/)

 0
Author: user13107,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-06 09:46:20

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

Para remediar esto reinstalé el entorno virtual de nuevo en el directorio de destino. Esto limpió las herramientas de configuración faltantes y puso las cosas en marcha de nuevo.

Ej:

~/RepoDir/TestProject$ virtualenv TestEnvironmentDir
 0
Author: Steve D.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-02 13:27:19

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

 0
Author: Baczek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-07 10:52:18

En Opensuse 42.1 se solucionó este problema:

zypper in python-Pygments
 0
Author: David Hamner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-07 17:11:17

ImportError: Ningún módulo llamado pkg_resources: la solución es reinstalar python pip usando el siguiente comando.

Paso: 1 Iniciar sesión en usuario root.

sudo su root

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

apt-get purge -y python-pip

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

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

Paso: 4 Ejecute 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.

 0
Author: Tukadiya Ramesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-20 10:30:24

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

 0
Author: Murat Çorlu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-21 00:43:35

La siguiente solución propuesta por Tukadiya Ramesh funcionó para mí sin embargo quiero señalar que debe usar binarios/herramientas correctos que coincidan con su entorno, como para mí tengo python3. 6 (python 3) instalado:

ImportError: Ningún módulo llamado pkg_resources: la solución es reinstalar python pip usando el siguiente comando.

Paso: 1 Iniciar sesión en usuario root.

Sudo su root

Paso: 2 Desinstale el paquete python-pip si existente.

Apt-get purge-y python-pip ( use python3-pip si el error apunta a ../ python3/..)

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

Wget https://bootstrap.pypa.io/get-pip.py ( existe la versión 3.2 disponible, úsala según tu env )

Paso: 4 Ejecute el archivo python.

Python ./get-pip.py (si el error está relacionado con python 3, entonces desea usar python3 o python3. 6 etc. [según su env.])

Paso: 5 Finalmente ejecute el comando de instalación.

Apt-get install python-pip ( de nuevo, use python3-pip como en el paso 2)

Nota: El usuario debe ser root.

P.d. Este problema resuelto con mi update-manager en Ubuntu 16. Siguió fallando con errores relacionados con la importación de Python. Si está teniendo el mismo problema, intente ejecutar sudo aptd, si arroja un error (lo siento, no tengo exacto) relacionado con Python, entonces está enfrentando el mismo problema que yo.

 0
Author: sant parkash singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-13 17:17:06

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

 0
Author: user3266968,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-18 19:40:38

He tenido el mismo problema cuando usé easy-install para instalar pip para python 2.7.14. Para mí la solución fue (puede que no sea la mejor, pero funcionó para mí, y esta es probablemente la más simple) 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 pip-script.py (python27\Scripts). Desde entonces, lo encontré en la carpeta python27\Lib\site-packages\pip-9.0.1-py2.7.egg\pip\_vendor también, podría ser una mejor solución modificar el archivo pip-script.py para importar esto.

 0
Author: B Kasza,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-30 11:46:08

yum -y install python-setuptools

Configuro el Ceph hay un problema ejecutar comando "$ ceph-deploy new node1", y que ejecute el comando "$ yum -y install python-setuptools", entonces el problema se ha ido.Gracias

 0
Author: Lucas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-22 10:31:12

Si encuentra 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 setup-tools con:

conda install setuptools
 0
Author: Gabriel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-11 15:08:53