2011-08-03 12 views
8

Acabo de actualizar mi Mac de Snow Leopard a Lion. Entonces necesité instalar virtualenv y virtualenvwrapper. Utilicé ambos easy_install. También he añadido virtualenvwrapper ajustes a mi archivo .bash_profile de la siguiente manera:Errores Virtualenvwrapper en Mac OS X Lion

# virtualenvwrapper settings 
export WORKON_HOME="~/virtualenvs" 
source "/usr/local/bin/virtualenvwrapper.sh" 

Pero en caso de procurarse que me sale el siguiente error:

ERROR: Could not create temporary file name. Make sure TMPDIR is set. 
virtualenvwrapper.sh: There was a problem running the initialization hooks. 
If Python could not import the module virtualenvwrapper.hook_loader, 
check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/2.7/bin/python and that PATH is set properly. 

Gracias a todos por su ayuda.

Respuesta

13

Desde /Library/Frameworks/Python.framework/Versions/2.7/bin/python es el camino a un Python instalado por separado-2.7 (posiblemente de un instalador python.org) en lugar de la Apple-suministra Python 2.7 (/usr/bin/python2.7), lo que necesita para asegurarse de que está utilizando un easy_install para ese separada Python o cambie a usar el Python suministrado por Apple. Para hacer uno u otro, debes asegurarte de que la variable PATH de tu shell sea correcta. Para el primer caso, usted debería ser capaz de instalar un easy_install de la siguiente manera:

cd /tmp 
curl -O http://python-distribute.org/distribute_setup.py 
sudo $VIRTUALENVWRAPPER_PYTHON distribute_setup.py 

Usted puede arreglar su depósito ruta para incluir el directorio bin marco. Si está utilizando bash, una solución sería añadir esta línea a ~/.bash_profile:

export PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 

A continuación, abra una nueva sesión de Terminal. Ahora usted debe encontrar que easy_install recién instalada es la correcta:

$ which easy_install 
/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install 
+0

Hola Ned "The Python Man" Deily! Muchas gracias por tu respuesta. Después de su respuesta, pensé que probablemente también tenía que actualizar mi instalación de Python antes de buscar ayuda. Entonces, eso hecho, en mi iMac todo funcionaba como se esperaba, mientras que en mi Macbook no ... :( Yo, entonces, seguí sus palabras de sabiduría y lo arreglé. Realmente, realmente gracias. Fyi, tanto easy_install como pip estaban en '/ usr/local/bin /'. Después de las instrucciones están en mi '$ VIRTUALENVWRAPPER_PYTHON' (eso, por cierto, ya lo he agregado a mi' $ PATH' en mi archivo '.bash_profile'). Entonces, ¿qué? exaclty 'distribute_setup.py' did? tnx –

+0

La manera más fácil de pensar es que cada instancia de Python debe tener su propia comneyad' easy_install'. La secuencia de comandos 'distribute_setup.py' instala una versión de' easy_install' para la instancia de Python que se está ejecutando en. –

+0

Gracias de nuevo. Afortunadamente con 'virtualenv' en su lugar ahora debería ser capaz de actualizar a la versión principal de Python directamente en un entorno virtual y administrar bibliotecas específicas con otras. Al estar aprendiendo Python, estoy seguro de que * nos reuniremos * de nuevo, gracias de antemano por su valiosa ayuda. –

0

que tenía un problema similar y lo resolví con la exportación de $ TMPDIR a un camino más sano, en lugar de la basura al azar que Mac OS X es preferible.

$ grep TMPDIR ~/.env 
export TMPDIR=/tmp/ 

$ source .env 

y ahora virtualenvwrapper puede crear sus archivos temporales bien. Para abreviar, simplemente agregue export TMP=/tmp/whatever a su archivo de configuración de tiempo de ejecución de shell (por ejemplo, para ZSH es ~/.zsh, para bash es ~/.bashrc).