2012-12-09 12 views
7

Non ho usato i miei ambienti python/virtuali per un po ', ma ho anche installato wrapper virtualenvironment.Perché è necessario impostare la variabile di ambiente WORKON_HOME?

La mia domanda è, nella pagina doc si dice di fare questo:

export WORKON_HOME=~/Envs 
$ mkdir -p $WORKON_HOME 
$ source /usr/local/bin/virtualenvwrapper.sh 
$ mkvirtualenv env1 

ho semplicemente fatto questo alla mia richiesta:

source /usr/local/bin/virutalenvwrapper.sh 

E ora posso elencare e selezionare un ambiente facendo:

>workon 

>workon envtest1 

la mia domanda è, dal momento che questo funziona per me, io sono confuso perché dovrei essere la creazione di un vari ambientale capace WORKON_HOME e puntarlo verso la cartella ~/Envs? Che cosa fa e come mai la mia funziona bene? Non ho nemmeno quella cartella/Envs (so che lo script la crea).

Riferimento: http://virtualenvwrapper.readthedocs.org/en/latest/

risposta

8

Se WORKON_HOME non è impostato, la cartella virtualenv predefinita sarà impostato ~/.virtualenvs
(vedi virtualenvwrapper.sh l.118)

È anche possibile utilizzarlo WORKON_HOME per specificare a pip quale cartella da utilizzare (export PIP_VIRTUALENV_BASE=$WORKON_HOME)

fonte: virtualenvwrapper.readthedocs.org : Tying to pip’s virtualenv support

+1

'PIP_VIRTUALENV_BASE' è deprecato: https://bitbucket.org/dhellmann/virtualenvwrapper/issue/225/pip_virtualenv_base-and –

+0

La cartella dei miei progetti home è' ~/Projects'. Mi sono imbattuto in questa risposta perché stavo vivendo lo stesso problema ** e ** Non ero in grado di forzarlo a riconoscere quando avevo il set di variabili '$ WORKON_HOME'. Finalmente ho appena fatto un 'ln -s ~/Projects ~/.virtualenvs'. Problema risolto. Grazie per le informazioni. –

+1

In modo che $ WORKON_HOME sia davvero opzionale se si è felici di mettere questi envs di progetto nel ~/.virtualenvs predefinito e quindi la domanda successiva è, c'è qualche motivazione ad usare una cartella diversa da quella predefinita? – RayLuo

0

Sono confuso perché dovrei creare una variabile ambientale WORKON_HOME e puntarla nella cartella ~/Envs?

È facoltativo. Sei confuso (come lo ero io) perché la documentazione è confusa.

Cosa fa e come funziona il mio funziona bene?

Indica a virtualenvwrapper quale cartella cercare gli ambienti Python. Il comando workon cerca il percorso WORKON_HOME se è definito, o ~/.virtualenvs se non lo è, motivo per cui funziona di default.

Un caso di utilizzo per la definizione di una diversa directory WORKON_HOME potrebbe essere se si dispone di diversi ambienti disponibili per virtualenvwrapper. Ad esempio, se si salvano i backup di env virtuali in una cartella diversa o si hanno più utenti che desiderano mantenere i propri ambienti.

Problemi correlati