2011-08-03 12 views
8

Właśnie zaktualizować MAC Snow Leopard Lion. Następnie musiałem zainstalować virtualenv i virtualenvwrapper. Używałem zarówno dla easy_install. Dodałem również virtualenvwrapper ustawieniach mojego .bash_profile pliku w następujący sposób:Virtualenvwrapper błędy w systemie Mac OS X Lion

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

Ale zaopatrujących go pojawia się następujący błąd:

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. 

Dziękuję wszystkim za pomoc.

Odpowiedz

13

Od /Library/Frameworks/Python.framework/Versions/2.7/bin/python jest ścieżką do osobno zainstalowanego Pythona 2.7 (ewentualnie z instalatora Python.org) niż Apple dostarczone Python 2.7 (/usr/bin/python2.7), należy upewnić się, używasz easy_install za to oddzielny Python lub zmiana na używanie Pythona dostarczonego przez Apple. Aby to zrobić, należy upewnić się, że zmienna PATH powłoki jest poprawna. W pierwszym przypadku, powinieneś być w stanie zainstalować easy_install wykonując następujące czynności:

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

można naprawić swój powłoki ścieżka do katalogu bin obejmują ramy. Jeśli używasz bash, jednym ze sposobów byłoby dodać tę linię do ~/.bash_profile:

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

Następnie otwórz nową sesję terminali. Teraz okaże się, że easy_install po prostu zainstalowana jest właściwa:

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

Cześć Ned "Python Man" Deily! Bardzo dziękuję za odpowiedź. Po twojej odpowiedzi pomyślałem o tym, że prawdopodobnie musiałem również zaktualizować moją instalację Pythona przed szukaniem pomocy. Tak, że odbywa się na mój iMac everyithing działało zgodnie z oczekiwaniami, a na moim nie Macbook ... :( I, a następnie, po swoje słowa mądrości i naprawić go. Naprawdę, naprawdę dziękuję. FYI, zarówno easy_install następnie były w pip '/ usr/local/bin /'. Po swoich kierunkach są w moim '$ VIRTUALENVWRAPPER_PYTHON' (które, przy okazji, mam już to dodaje do mojego' $ PATH' w moim '.bash_profile' pliku). Więc, co exaclty 'distribute_setup.py' zrobił? tnx –

+0

Najprostszym sposobem myślenia jest to, że każde wystąpienie Pythona musi mieć swój własny' easy_install' commnad. Opcja 'distribute_setup.py' skrypt instaluje wersję' easy_install' dla instancji Python to działa pod. –

+0

Jeszcze raz dziękuję, mam nadzieję, że z 'virtualenv' na miejscu powinienem być teraz w stanie zaktualizować główną wersję Pythona bezpośrednio w środowisku wirtualnym i zarządzać określonymi bibliotekami z innymi. Będąc właśnie uczącym się Pythona, jestem pewien, że ponownie * spotkamy się *, z góry dzięki za nieocenioną pomoc. –

0

miałem podobny problem i rozwiązać go poprzez eksport $ tmpdir do saner ścieżce, zamiast losowego bzdura, że ​​Mac OS X woli.

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

$ source .env 

i teraz virtualenvwrapper mogą tworzyć swoje pliki tymczasowe grzywny. Aby długie opowiadanie, po prostu dodaj export TMP=/tmp/whatever do pliku konfiguracyjnego powłoki wykonawczego (na przykład dla zsh jest ~/.zsh dla bash jest ~/.bashrc).

Powiązane problemy