【发布时间】:2015-06-15 05:44:50
【问题描述】:
我是 shell 脚本的新手,但我想使用 virtualenv 制作一个用于激活/停用虚拟环境的 bash 脚本。 然后我想将此脚本用作 Ubuntu 中的服务,将其复制到 /etc/init.d 文件夹中。
在我的脚本中,我有一个这样的变量:
VENV=/opt/odoo/odoo_server/venv_oddo/bin
这个变量代表我的虚拟环境中的 bin 路径。
在脚本内部,我可以使用以下语句激活虚拟环境:
. ${VENV}/activate
这是可能的,因为 activate 是虚拟环境中 bin 目录中的一个文件。
但我不知道要在我的脚本中使用什么语句来停用我的虚拟环境。
我不能这样做:. ${VENV}/deactivate
问题是不存在名为deactivate的文件,但deactivate是虚拟环境中bin/activate文件中的一个函数。
【问题讨论】:
-
如果您的脚本在子进程中运行,则当脚本存在时,virtualenv 将不复存在。在退出前显式调用
deactivate既没必要也没用。
标签: python virtualenv