2013-10-23 6 views
34

Dopo l'aggiornamento a OSX Mavericks, sto ottenendo questo messaggio nel terminale:problema Terminale con virtualenvwrapper dopo Mavericks Aggiornamento

/usr/bin/python: No module named virtualenvwrapper 
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=/usr/bin/python and that PATH is 
set properly. 
+0

Sei sicuro che virtualenvwrapper.sh dovrebbe essere in/usr/bin/python o che hanno installato in una diversa versione di Python (p.es. installazione con Homebrew?) –

risposta

73

Provare a reinstallare pip e reinstallare virtualenvwrapper (ho dovuto passare attraverso questi passaggi dopo l'aggiornamento a Mavericks):

$ sudo easy_install pip 
$ sudo pip install --upgrade virtualenvwrapper 
+1

Sì, ho reinstallato pip e aggiornato con [script python] (http://www.pip-installer.org/en/latest/installing.html), quindi ho usato il tuo consiglio per aggiornare virtualenvwrapper. Tutto va bene ora, molte grazie. –

+1

ha funzionato per me, ma solo dopo la reinstallazione di easy_install come per [questo post] (http://stackoverflow.com/questions/6012246/why-is-python-easy-install-not-working-on-my- mac) – caiman

+0

ha funzionato anche per me dopo che il mio upgrade non funzionava – bytejunkie

4

Non consiglierei di eseguire pip con sudo. This era la mia soluzione per lo stesso problema (dopo l'aggiornamento a Mavericks).

In sostanza, disinstallare qualsiasi virtualenv e fermentato Python si aveva prima (utilizzare which <command> per controllare che è stato rimosso tutto tranne il sistema Python in /usr/bin/python) ed in modo pulito installarli ancora una volta:

brew install python --with-brewed-openssl 
# Open a new terminal tab now (to access /usr/local/bin/python) 
pip install virtualenv 
pip install virtualenvwrapper 
9

ri-organizzare la ordine di esportazione in modo che il percorso python sia posizionato prima dei comandi virtualenv nel file .bash_profile.

# python path 
export PATH=/usr/local/bin:$PATH 

# needed for virtualenvwrapper 
export WORKON_HOME=$HOME/.virtualenvs 
source /usr/local/bin/virtualenvwrapper.sh 
+2

E non provo virtualenvwrapper.sh da.bashrc - che è chiamato all'inizio di .bash_profile. – gilbertpilz

1

pip install --upgrade virtualenvwrapper risolverà il problema, ma mai utilizzato sudo pip questo cambierà a livello di sistema. Se pip genera errori di autorizzazione senza sudo, allora è necessario correggerli e quindi provare solo con pip install <--upgrade> $(package).

Suggerisco piuttosto installare homebrew e quindi installare pip utilizzando brew install pip che installerà l'ultima versione stabile di pip per l'utente.

  1. Installare homebrew e quindi eseguire brew doctor. Se ci sono degli avvertimenti, correggili (in realtà ti diranno come aggiustarli).

  2. Potrebbe essere necessario rimuovere python a livello di sistema fornito con Mac e utilizzare brew per installare le versioni richieste. Utilizzare this per rimuovere python a livello di sistema

  3. Utilizzare brew install python o/e brew install python3 per installare le versioni/i di python richieste.
  4. Finaly gestito pip install --upgrade virtualenvwrapper

  5. Ora il non usare mai sudo pip utilizzare solo pip.

2

Prova di modifica del file .bash_profile

# Home brew 
export PATH=/usr/local/bin:$PATH 

# virtualenvwrapper 
export WORKON_HOME=$HOME/.virtualenvs 
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python 
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv 
source /usr/local/bin/virtualenvwrapper.sh