2012-09-09 16 views
7

Me estoy preparando para un nuevo mac y estaba tarareando, instalando pip y algunos paquetes. Cuando, de repente, todos los comandos de pepita que iba a tratar de correr tiraríapip dando "ImportError: No hay ningún módulo llamado setuptools", pero puedo importar setuptools en el intérprete de Python

Exception: 
Traceback (most recent call last): 
    File "/Library/Python/2.6/site-packages/pip-1.2.1-py2.6.egg/pip/basecommand.py", line 107, in main 
    status = self.run(options, args) 
    File "/Library/Python/2.6/site-packages/pip-1.2.1-py2.6.egg/pip/commands/install.py", line 248, in run 
    import setuptools 
ImportError: No module named setuptools 

que pensé que había borrado accidentalmente un directorio o algo, así que traté de volver a instalar setuptools, siguiendo el consejo de other answers en este sitio. Descargué el archivo setuptools egg de here y lo ejecuté como un script de shell. Conseguido este resultado:

Processing setuptools-0.6c11-py2.7.egg 
Removing /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg 
Copying setuptools-0.6c11-py2.7.egg to /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 
setuptools 0.6c11 is already the active version in easy-install.pth 
Installing easy_install script to /Library/Frameworks/Python.framework/Versions/2.7/bin 
Installing easy_install-2.7 script to /Library/Frameworks/Python.framework/Versions/2.7/bin 

Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg 
Processing dependencies for setuptools==0.6c11 
Finished processing dependencies for setuptools==0.6c11 

Ahora, si comienzo a una sesión interactiva de Python, puedo import setuptools sin error, pero PIP (y otros scripts de línea de comandos) se quejan de que no está instalado. ¿Alguna idea de por qué Python parece encontrarla, pero no otras secuencias de comandos?

Si ayuda, esto es lo que hay en sys.path:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 
+1

Observe que su error de pip muestra Python 2.6 en el rastreo, pero el resto usa Python 2.7. ¿Cómo se ve la línea superior de su script de nivel superior de pip? – Keith

Respuesta

7

Su pip no parece estar de acuerdo con su Python. Compare:

File "/Library/Python/2.6/site-packages/pip-1.2.1-py2.6.egg/pip/basecommand.py", line 107, in main 

a

Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg 

Si python2.7 tiene setuptools, entonces no debería tener

/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install-2.7 

disponibles, en cuyo caso

easy_install-2.7 pip 

usted debe dar pip-2.7.

+2

Me di cuenta de que el problema real era simplemente que necesitaba reiniciar después de instalar Python 2.7. Algo no se limpió correctamente cuando actualicé desde 2.6. Pero especificar qué 'easy_install' usar también habría hecho el truco. –

Cuestiones relacionadas