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


13

我想计划在特定日期使用cron运行python脚本,问题是example.py要正常工作example-env必须被激活,有什么方法可以example.py在cron执行时激活它自己的virtualenv吗?

如果没有,那么我是否必须创建一个bash.sh包含以下内容的bash脚本:

#!/usr/bin/env bash
workon example-env
python2 example.py

然后安排在特定日期由cron执行?还是我需要做其他事情?

两种方式对我都很好,我只想知道正确的方法。也许我更喜欢bash脚本方法,因为我有很多要运行的Python文件,因此如果我将它们全部放入bash脚本中并进行调度,这对我来说似乎比较容易,但是我仍然不知道正确的方法,因此我正在寻求建议。


有“正确”的方法吗?也许还有另一种方式。
ctrl-alt-delor

@richard我很高兴知道这一点。我只是以这样的方式提出我的问题,因为从来没有想过有更好的方法,但是我喜欢学习
Lynob 2015年

Answers:


21

您可以从example.py的完整路径开始example-env/bin/python2

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

#!/full/path/to/example-env/bin/python2
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.