La instalación de Python en mal estado

1

De alguna manera mi pitón en mi Mac OS X está en mal estado.

Estoy tratando de instalar virtualenv

$ pip install virtualenv

Y me da:

Traceback (most recent call last):
  File "/usr/local/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.40-py2.7.egg/pkg_resources.py", line 16, in <module>
    import sys, os, zipimport, time, re, imp, types
ImportError: No module named time

Sin embargo si lo intento así, encuentra time.

$ python
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import time
>>> 

Mi variable de ruta se ve así:

$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/opt/opengeo/pgsql/9.1/bin

¿Podría ser que mi variable de ruta está mal configurada? ¿Dónde y cómo puedo solucionar esto?

ustroetz
fuente
Si lo desea, puede consultar la distribución de Python en Anaconda desde Continuum IO. Es una distribución bastante decente con un montón de bibliotecas, y simplemente funciona. Ya no es necesario administrar personalmente las bibliotecas.
Ambidextrous

Respuestas:

2

Está utilizando varias versiones de Python simultáneamente, una de Python.org (2.7.3), que se encuentra en /Library/Frameworks/Python.framework/Versions/2.7/, que no cuenta con una instalación de pip asociado con él, y otra versión de HomeBrew (2.7.5), ubicada en /usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/. Tu pip script está usando el /usr/local/... Python, que no tiene la time Módulo disponible por alguna razón, pero cuando solo escribes python en la línea de comando, el shell busca a través de su $PATH y ejecuta la versión en /Library/Frameworks/.... Si fueras a escribir /usr/local/bin/python en la línea de comando y escriba import time Es probable que obtenga un error. los time módulo forma parte de la biblioteca estándar de Python, así que no estoy seguro de por qué Homebrew no lo encuentra, es posible que desee volver a elaborar Python para repararlo.

Para ejecutar siempre la versión casera de python (si eso es lo que quieres que sea tu versión primaria), simplemente coloca /usr/local/bin como la primera entrada en tu $PATH variable.

MattDMo
fuente