Question Comment quitter / quitter / désactiver un virtualenv python?


J'utilise virtualenv et le virtualenvwrapper. Je peux basculer entre virtualenv très bien en utilisant la commande workon.

me@mymachine:~$ workon env1
(env1)me@mymachine:~$ workon env2
(env2)me@mymachine:~$ workon env1
(env1)me@mymachine:~$ 

Cependant, comment puis-je quitter toutes les machines virtuelles et travailler à nouveau sur ma machine réelle? En ce moment, la seule façon que j'ai de revenir à

me@mymachine:~$ 

est de quitter le shell et d'en commencer un nouveau. C'est plutôt ennuyeux. Y a-t-il un ordre de travailler sur "rien", et si oui, qu'est-ce que c'est? Si une telle commande n'existe pas, comment pourrais-je la créer?


1067
2018-06-13 14:15


origine


Réponses:


Habituellement, activer un virtualenv vous donne une fonction shell nommée:

$ deactivate

ce qui remet les choses à la normale.

Modifier 1

Je viens de regarder spécifiquement le code pour virtualenvwrapper, et, oui, il soutient aussi deactivate comme le moyen d'échapper à tous les virtualenvs.

Modifier 2

Si vous essayez de quitter un Anaconda environnement, la procédure est un peu différente: exécutez la commande de deux mots source deactivate puisqu'ils implémentent la désactivation en utilisant un script autonome.

bash-4.3$ deactivate
pyenv-virtualenv: deactivate must be sourced. Run 'source deactivate' instead of 'deactivate'
bash-4.3$ source deactivate
pyenv-virtualenv: no virtualenv has been activated.

1758
2018-06-13 14:31



J'ai défini un alias  travail comme le contraire de workon:

alias workoff='deactivate'

Facile à retenir:

[bobstein@host ~]$ workon django_project
(django_project)[bobstein@host ~]$ workoff
[bobstein@host ~]$

32
2018-01-14 16:23



$ deactivate 

Si cela ne fonctionne pas, essayez

$ source deactivate

Quelqu'un qui sait comment frapper source les travaux penseront que c'est bizarre, mais certains wrappers / workflows autour de virtualenv implémentent comme compliment / contrepartie source activate. YMMV


21
2018-04-12 06:41



pour activer l'environnement virtuel python:

$cd ~/python-venv/
$./bin/activate

désactiver:

$deactivate

10
2017-11-26 07:06



Vous pouvez utiliser virtualenvwrapper afin de faciliter votre façon de travailler virtualenv

Installation virtualenvwrapper

pip install virtualenvwrapper

Si vous utilisez un shell standard, ouvrez votre ~/.bashrc ou ~/.zshrc si vous utilisez oh-my-zsh. Ajoutez cette deux lignes:

export WORKON_HOME=$HOME/.virtualenvs  
source /usr/local/bin/virtualenvwrapper.sh

Pour activer un virtualenv existant, utilisez la commande workon:

$ workon myenv
(myenv)$

Afin de désactiver votre virtualenv:

(myenv)$ deactivate

Voici mon Didacticiel, étape par étape dans la façon d'installer virtualenv et virtualenvwrapper


1
2017-09-01 05:13



j'utilise zsh-autoenv qui est basé sur autoenv.

zsh-autoenv automatiquement   sources (connues / en liste blanche) .autoenv.zsh fichiers, généralement utilisés dans   répertoires racine du projet. Il gère "entrer" et laisser "des événements,   imbrication et mise en cache des variables (écrasement et restauration).

Voici un exemple:

; cd dtree 
Switching to virtual environment: Development tree utiles
;dtree(feature/task24|✓); cat .autoenv.zsh       
# Autoenv.
echo -n "Switching to virtual environment: "
printf "\e[38;5;93m%s\e[0m\n" "Development tree utiles"
workon dtree
# eof
dtree(feature/task24|✓); cat .autoenv_leave.zsh 
deactivate

Alors quand je quitte le dtree répertoire, l'environnement virtuel est automatiquement quitté.


0
2018-02-14 10:50



(my_env) basant @ basant: ~ / EonTraining / my_env $ désactiver

utilisez 'désactiver'

basant @ basant-Lenovo-E40-80: ~ / EonTraining / mon_env $

Parti (my_env);


0
2017-09-03 06:43