O uso do deactivate
recurso fornecido pelo activate
script do venv exige que você confie na função de desativação para ser codificada corretamente para redefinir de forma limpa todas as variáveis de ambiente, como eram antes - levando em consideração não apenas a ativação original , mas também quaisquer opções , configurações ou outras opções . trabalho que você pode ter feito enquanto isso.
Provavelmente está bem, mas apresenta um risco novo e diferente de deixar seu ambiente modificado posteriormente.
No entanto, não é tecnicamente possível para um processo alterar diretamente as variáveis de ambiente de seu pai, portanto, podemos usar um sub-shell separado para ter certeza absoluta de que nossos venv
s não deixam nenhuma alteração residual para trás:
Ativar:
$ bash --init-file PythonVenv/bin/activate
- Isso inicia um novo shell em torno do
venv
. Seu bash
shell original permanece inalterado.
Para desativar:
$ exit
OU [CTRL]
+[D]
- Isso sai de todo o shell do
venv
em que se encontra e o leva de volta ao shell original antes de o script de ativação fazer alterações no ambiente.
Exemplo:
[user@computer ~]$ echo $VIRTUAL_ENV
No virtualenv!
[user@computer ~]$ bash --init-file PythonVenv/bin/activate
(PythonVenv) [user@computer ~]$ echo $VIRTUAL_ENV
/home/user/PythonVenv
(PythonVenv) [user@computer ~]$ exit
exit
[user@computer ~]$ echo $VIRTUAL_ENV
No virtualenv!