2011-05-16 25 views
58

Tengo una Mac con Python 2.6. Cuando trato de utilizar easy_install me sale este mensaje:¿Por qué Python easy_install no funciona en mi Mac?

/usr/bin/easy_install-2.6:7: UserWarning: Module pkg_resources was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.pyc, but /Library/Python/2.6/site-packages is being added to sys.path 
    from pkg_resources import load_entry_point 
/usr/bin/easy_install-2.6:7: UserWarning: Module site was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site.pyc, but /Library/Python/2.6/site-packages is being added to sys.path 
    from pkg_resources import load_entry_point 
Traceback (most recent call last): 
    File "/usr/bin/easy_install-2.6", line 10, in <module> 
    load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')() 
    File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 271, in load_entry_point 
    return False 
    File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 2173, in load_entry_point 
    deps = [] 
ImportError: Entry point ('console_scripts', 'easy_install') not found 

Estoy muy confundido por esto y me gustaría saber cómo puedo solucionar este problema. Anteriormente no recibí este mensaje, luego de instalar pip y desinstalarlo, easy_install ya no funciona. Me preguntaba cómo podría solucionar esto, o restaurar la configuración predeterminada de Python o easy_install en Mac.

Respuesta

26

Sospecho que la forma más fácil se puede obtener easy_install a trabajar de nuevo es instalar distribute, que es una versión mejorada del distutils que agrupa su propia versión de easy_install. La instalación es simple:

curl -O http://python-distribute.org/distribute_setup.py 
/usr/bin/python2.6 distribute_setup.py 
+0

Si está utilizando [Homebrew] (http://mxcl.github.com/homebrew/) que puede hacer 'sudo cerveza instalar distribute' –

+2

@DanaWoodman Eso no es una fórmula homebrew válida. – Wylie

+0

Parece que 'distribute' ahora viene con la receta de python, pero los scripts se guardan en'/usr/local/share/python/', por lo que puede estar recogiendo una versión anterior de easy_install enlazada en'/usr/local/bin '. Ver: https://github.com/mxcl/homebrew/wiki/Homebrew-and-Python –

4

Su instalación de herramientas de instalación está rota. El script easy_install-2.6 en su directorio /usr/bin, es solo un contenedor que carga el módulo easy_install en su instalación de Python, y este último falta. Presumiblemente, la desinstalación de pip le rompió el puntero (generalmente en forma de un archivo .pth en su directorio site-packages) o eliminó todo el paquete, pero no eliminó el script de envoltura /usr/bin/easy_install-2.6.

Su mejor opción es volver a instalar `` desde cero nuevamente, siguiendo el instructions on the setuptools PyPI page.

1

Tuve un mensaje de error similar después de seguir los mismos pasos. Sospecho que es porque traté de instalar el módulo de distribución e intenté instalar una nueva versión de setuptools que no funcionó porque no pudo anular correctamente las herramientas de configuración proporcionadas por Mac OS X. Pero eso es solo una sospecha.

He resuelto mi problema haciendo lo siguiente. Encontré que el directorio /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python tenía 4 archivos con .OLD en el nombre. Cuando hice una comparación con archivos de nombre similar sin el .OLD de cuando las cosas funcionaban (a través de Time Machine) descubrí que eran las mismas excepto el nombre. Así que lo hicieron los siguientes cambios de nombre:

setuptools.OLD.1305936263.57 -> setuptools
setuptools-0.6c9-py2.6.egg-info.OLD.1305936263.57 -> setuptools-0.6c9-py2.6.egg-info
pkg_resources.py.OLD.1305936263.57 -> pkg_resources
site.py.OLD.1305936263.59 -> site.py

tuve que usar la línea de comandos y sudo mv porque los archivos son propiedad de root. Por ejemplo: sudo mv setuptools.OLD.1305936263.57 setuptools. Tendrás que ingresar tu contraseña.

La otra cosa que hice fue limpiar el directorio /Library/Python/2.6/site-packages. Utilicé Time Machine para volver a su estado anterior. Si no tiene Time Machine, entonces debería poder recuperarlo si elimina cualquier archivo o carpeta que comience con distributed, easy-install, pip, pkg_resources, setuptools y site.

Si eso no funciona, desinstale los módulos que pueda de ese directorio. Por ejemplo, use pip uninstall si instaló módulos con pip. La razón para hacer esto es que la instalación puede copiar archivos en usr/local/bin y otros lugares que pip eliminará por usted.

A continuación es hora de eliminar los módulos restantes. Cambie el nombre de la carpeta (en caso de que haya algo que desee más adelante) y cree una nueva vacía.

vuelva a instalar los módulos que desee y con un poco de suerte volver al trabajo ...

9

que tenían el mismo problema justo después de instalar el nuevo sistema operativo (OS X Lion). Después de instalar Python y ejecutarlo

sudo easy_install ipython 
ipython 

Tengo el siguiente error:

Traceback (most recent call last): 
    File "/usr/local/bin/ipython", line 8, in <module> 
    load_entry_point('ipython==0.10.2', 'console_scripts', 'ipython')() 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 318, in load_entry_point 
    return get_distribution(dist).load_entry_point(group, name) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2220, in load_entry_point 
    raise ImportError("Entry point %r not found" % ((group,name),)) 
ImportError: Entry point ('console_scripts', 'ipython') not found 

Entonces me di cuenta que era un problema de permisos. Si ejecuto el script ipython como sudo, funcionó.

sudo ipython 

Así que cambió la propiedad de la raíz a mi usuario() de la carpeta /Library/Python/2.7/site-packages/

sudo chown -R <your_user>:wheel /Library/Python/2.7/site-packages/ 

Uso cambio de propiedad sólo si usted no tiene varias cuentas que usan python.

Espero que te sirva.

Mejor

+0

Probablemente sea una mejor idea 'chmod' que' chown' en este caso. – icktoofay

0

respuesta de Martijn Pieter es correcta.

  1. Ir a http://pypi.python.org/pypi/setuptools#downloads
  2. Descargar setuptools-0.6c11-py2.7.egg
  3. Desde el directorio de ejecución descargas: sudo ./setuptools-0.6c11-py2.7.egg

Hecho :-)

+0

Tengo un problema muy similar pero tuve que degradar las herramientas de configuración a exactamente 0,6c9 que estaba pidiendo. Ahora tengo un error de gcc. – EddyR

2

que tenía el mismo problema, sospecho causada por mi instalación de Homebrew que aparentemente instala su propia versión de easy_install a ciegas y arruina todo lo que está ejecutando actualmente (suficientes veces para ho mebrew para reconocerlo como un problema). Encontré mi solución aquí Upgraded Python on Snowleopard Using Homebrew now pip and easy_install don't work

Mientras estoy en Lion, todavía solucionó mi problema. Simplemente descarga ez_setup.py desde http://pypi.python.org/pypi/ez_setup - ejecuta ez_setup.py a través de la terminal y vas a las carreras.

+0

Gracias, ayudó mucho. –

152
  1. Compruebe su/usr/bin y/usr/local/bin para easy_install instalaciones y eliminar cualquier viejo guión:

    sudo rm -f /usr/bin/easy_install* 
    sudo rm -f /usr/local/bin/easy_install* 
    
  2. Descarga y ejecuta distribuir:

    curl -O https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.py 
    
    sudo python distribute_setup.py 
    sudo rm distribute_setup.py 
    
  3. Inténtalo de nuevo y disfruta. Por ejemplo:

    sudo easy_install pip 
    
+3

Estas instrucciones funcionaron perfectamente después de que la actualización de Mountain Lion lo enloqueciera todo. Esto tiene easy_install y pip working, lo que me permite actualizar mi virtualenv y virtualenvwrapper, y todo vuelve a ser feliz. – shacker

+2

También trabajé para mí en Linux, específicamente en CentOS 6. – Banjer

+3

También trabajé en Ubuntu 12.04. – David

Cuestiones relacionadas