如何在virtualenv`deactivate`上运行清理脚本?

时间:2017-10-24 09:04:09

标签: python environment-variables virtualenv

通过autoenv,每当我cd进入一个带有.env文件的目录时,我会自动激活我的python虚拟环境并设置一些环境变量。本质上这个.env文件是一个安装脚本。

# /absolute/path/to/project/.env
source /absolute/path/to/project/.venv/bin/activate

export ENV_VAR_1="foo"
export ENV_VAR_2="bar"

但是,当我完成项目工作并输入deactivate

  • 希望这些环境变量消失。
  • reality 中,这些环境变量仍然存在。

当我打电话给deactivate时,当我今天完成一些项目清理时,是否有一种干净的方式来运行拆卸脚本?

1 个答案:

答案 0 :(得分:1)

activate脚本中,有一个deactivate块,您可以在其中取消设置变量:

deactivate () {
    # ...
    unset ENV_VAR_1
    unset ENV_VAR_2
}