Python脚本启动时如何激活Virtualenv?

Lyn*_*nob 13 bash cron python shell-script

我想安排一个python脚本在某些日期使用cron运行,问题是为了example.py工作,example-env必须被激活,有没有办法example.py在cron执行时激活它自己的virtualenv?

如果没有,那么我是否必须创建一个bash.sh包含

#!/usr/bin/env bash
workon example-env
python2 example.py
Run Code Online (Sandbox Code Playgroud)

然后安排在某些日期由 cron 执行?还是我必须做其他事情?

两种方式对我来说都很好,我只是想知道正确的方法。也许我更喜欢 bash 脚本方法,因为我有很多 Python 文件要运行,所以如果我把它们都放在一个 bash 脚本中并安排它,对我来说似乎更容易,但我又不知道正确的方法,因此我在寻求建议。

Ant*_*hon 20

您可以example.py使用到example-env/bin/python2.

或者更改 的 shebang 行example.py以使用该可执行文件,使该文件可执行 ( chmod +x example.py) 并省略 python 并使用完整路径example.py来启动它:

#!/full/path/to/example-env/bin/python2
Run Code Online (Sandbox Code Playgroud)