使用deactivate
venv activate
脚本提供的功能,您需要信任正确激活了禁用功能的代码,才能将所有环境变量完全重置为以前的状态-不仅要考虑原始激活,还要考虑所有开关,配置或其他在此期间您可能已经完成的工作。
可能很好,但是确实会带来一种新的,非零的风险,即事后修改环境。
但是,从工艺上讲,直接更改其父级的环境变量在技术上是不可能的,因此我们可以使用单独的子外壳来确保我们venv
的进程不会留下任何残留更改:
激活:
$ bash --init-file PythonVenv/bin/activate
- 这将在周围启动一个新的shell
venv
。您原来的bash
外壳保持不变。
停用:
$ exit
或[CTRL]
+[D]
- 这将退出整个外壳
venv
,并使您回到激活脚本对环境进行任何更改之前的原始外壳。
例:
[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!