python - 如何从 bash 脚本停用 virtualenv

标签 python virtualenv

我是 shell 脚本的新手,但我想制作一个 bash 脚本来使用 virtualenv 激活/停用虚拟环境。 然后我想像 Ubuntu 中的服务一样使用这个脚本,将它复制到/etc/init.d 文件夹中。

在我的脚本中,我有一个这样的变量: VENV=/opt/odoo/odoo_server/venv_oddo/bin

此变量表示我的虚拟环境中的 bin 路径。

在脚本中,我可以使用以下语句激活虚拟环境: 。 ${VENV}/激活

这是可能的,因为 activate 是虚拟环境中 bin 目录中的一个文件。

但我不知道在我的脚本中使用什么语句来停用我的虚拟环境。 我不能这样做:。 ${VENV}/停用

问题是不存在名为 deactivate 的文件,但 deactivated 是虚拟环境中 bin/activate 文件中的一个函数。

最佳答案

只是停用。只要您使用的是 bash,它就可以在脚本和命令行中运行。

编辑:在大多数情况下,最好在脚本和服务中拼写完整的 Python 路径。它是无状态的,更便携,几乎可以在任何地方使用。所以不要做

. $VENV/bin/activate
/path/to/my/script.py --parameters

通常最好做

$VENV/bin/python /path/to/my/script --parameters

相信我,它会为你节省调试时间)

关于python - 如何从 bash 脚本停用 virtualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29545624/

相关文章:

python-3.x - 用于设置 virtualenv 和 pip 的 Shell 脚本

Python 的 virtualenv 和目录

python - 将 Anaconda 安装到虚拟环境中

python - 具有动态 TextProperty 的 NDB Expando 模型?

Python加入csv文件,其中键是第一列值

python - 异步协程上的高阶函数

path - PATH= :$PATH and PATH ="$PATH:" and other export lines 之间有什么不同

python - 从python3中的数组中删除元素

python - 如果API没有返回数据,如何跳到Python中的另一个循环?

python - 每次打开终端时都会出现 "No command ' pew'(Ubuntu 16.04)