2012-12-13 21 views
62

Dopo aver seguito le istruzioni su Doug Hellman's virtualenvwrapper post, non è stato possibile attivare un ambiente di test.bash: mkvirtualenv: comando non trovato

[[email protected] ~]$ mkvirtualenv test 
-bash: mkvirtualenv: command not found 
[[email protected] ~]$ 

Va notato che sto usando WORKON_HOME che non è nel mio $HOME. Ho provato a cercare /usr/local/bin/virtualenvwrapper.sh come mostrato nello virtualenvwrapper installation docs, ma non esiste.

Sto eseguendo CentOS 6 e Python 2.6.6, se questo è importante.


# File: ~/.bash_profile 
# ... 

export WORKON_HOME="/opt/virtual_env/" 
source "/opt/virtual_env/bin/virtualenvwrapper_bashrc" 

risposta

62

Soluzione 1:

Per qualche ragione, virtualenvwrapper.sh installato in /usr/bin/virtualenvwrapper.sh, anziché sotto /usr/local/bin.

Il seguente nei miei lavori .bash_profile ...

source "/usr/bin/virtualenvwrapper.sh" 
export WORKON_HOME="/opt/virtual_env/" 

mia installazione sembra funzionare bene anche senza di sourcing virtualenvwrapper_bashrc

Soluzione 2:

alternativa come indicato di seguito, è possibile sfruttare la possibilità che virtualenvwrapper.sh sia già nella PATH della tua shell e che emetta semplicemente un source `which virtualenvwrapper.sh`

+1

Impostazione 'WORKON_HOME' a "~/.virtualenvs"([valore predefinito] (http://virtualenvwrapper.readthedocs.org/en/latest/install.html)) permette di impostare virtualenvs privati ​​ –

+0

Se si installa usando il gestore di pacchetti della distro, i file saranno in '/ usr/bin' invece di'/usr/local/bin'. In generale, non dovresti assumere l'uno o l'altro per essere trovato; questo è uno dei motivi per cui abbiamo una variabile 'PATH'. – tripleee

+0

Questa risposta era basata sull'installazione di virtualenvwrapper con pip, che è ciò che preferisco fare. –

32

Ho avuto lo stesso problema su OS X 10.9.1 con python 2.7.5. Nessun problema con WORKON_HOME per me, ma ho dovuto aggiungere manualmente source "/usr/local/bin/virtualenvwrapper.sh"-~/.bash_profile (o ~/.bashrc in Unix) dopo mi sono imbattuto pip install virtualenvwrapper

+1

Dove hai aggiunto manualmente il sorgente "/usr/local/bin/virtualenvwrapper.sh"? – Gregology

+1

@Gregology Ho aggiunto questa riga a '~/.bash_profile'. Nota che quando lo aggiungi per la prima volta devi ricaricare il terminale (che esegue '.bash_profile') o semplicemente eseguire il comando' source' direttamente dalla riga di comando. –

+1

Sarebbe molto utile se tu avessi un titolo con il nome del file e visualizzato tutti i contenuti in modo da non dover ricevere domande di followup su "dove l'hai messo?" – JGallardo

21

Prova:

source `which virtualenvwrapper.sh`

+4

Anche se questo potrebbe essere un suggerimento prezioso per risolvere il problema, una risposta ha davvero bisogno di un po 'più in dettaglio di questo. Si prega di [modifica] per spiegare come questo risolverà il problema. In alternativa, considera di scrivere questo come un commento. –

+0

Questo ha funzionato per me usando python 2.7 su Ubuntu 16.04 –

+0

ha funzionato per me con Python 3.4.1! Grazie! –

7

Prerequisiti per eseguire questo comando -

1) pip (acronimo ricorsivo di P ip I nstall p ython) è un sistema di gestione dei pacchetti utilizzato per installare e gestire pacchetti software scritti in Python. Molti pacchetti possono essere trovati nel Python Package Index (PyPI).

sudo apt-get install python-pip 

2) Installare Virtual Environment. Utilizzato per creare ambienti virtuali, per installare pacchetti e dipendenze di più progetti isolati l'uno dall'altro.

sudo pip install virtualenv 

3) Installare ambiente involucro virtuale About virtual env wrapper

sudo pip install virtualenvwrapper 

dopo l'installazione di prerequisiti è necessario portare ambiente involucro virtuale in azione per creare un ambiente virtuale.Seguenti passaggi -

1) impostare la directory virtuale in ambiente percorso variabile export WORKON_HOME=(directory you need to save envs)

2) source /usr/local/bin/virtualenvwrapper.sh -p $WORKON_HOME

Come indicato da @ Mike, fonte `che virtualenvwrapper.sh` o which virtualenvwrapper.sh può usato per individuare il file virtualenvwrapper.sh.

E 'meglio mettere sopra due righe in ~/.bashrc per evitare l'esecuzione dei comandi di sopra di ogni volta che si apre nuova shell. Questo è tutto ciò che serve per creare un ambiente utilizzando mkvirtualenv

punti da tenere a mente -

  • sotto Ubuntu, potrebbe essere necessario installare virtualenv e virtualenvwrapper come root. Basta anteporre il comando sopra con sudo.
  • seconda del processo utilizzato per installare virtualenv, il percorso virtualenvwrapper.sh può variare. Trova il percorso appropriato eseguendo $ find/usr -name virtualenvwrapper.sh. Regola di conseguenza la riga nel tuo script .bash_profile o .bashrc.