sup*_*dee 8 python cron virtualenv
通常我通过 SSH 连接到我的 EC2 实例并运行:
source MYVENV/bin/activate
如何设置我的 cronjob 以激活虚拟环境?我的 Django 脚本需要存储在 ~/.bash_profile 中的环境变量
我尝试按照此处的步骤操作无济于事
SHELL=/bin/bash
*/1 * * * * root source /home/ec2-user/MYVENV/activate && python /home/script.py
Run Code Online (Sandbox Code Playgroud)
这是我上面的当前设置。
我在日志中收到以下错误:
/bin/bash: root: 找不到命令
Pia*_*kaa 13
创建一个shell脚本,例如scripts.sh
#!/bin/bash
source /home/user/MYVENV/bin/activate
python /path/to/file/script.py
Run Code Online (Sandbox Code Playgroud)
然后在 cron 中放入
*/1 * * * * bash /path/to/shell/script/scripts.sh
Run Code Online (Sandbox Code Playgroud)
该脚本将加载您的所有环境变量并在您的环境中从 python 执行
您可以直接从您的环境中运行 python 解释器,例如
MYENV/bin/python script.py
Run Code Online (Sandbox Code Playgroud)
找出你的环境python解释器的目录是什么,切换到虚拟环境然后运行
which python
Run Code Online (Sandbox Code Playgroud)
在你的情况下,这应该成为
*/1 * * * * /home/ec2-user/MYVENV/python /home/script.py
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4934 次 |
| 最近记录: |