2024-04-26 11:28:34 发布
网友
如何在crontab中运行
*/1 * * * * /home/user/Desktop/job/dp/ python manage.py statistics
用虚拟环境?我需要先激活virtualenv(否则它不起作用)
这是我的虚拟环境:
已编辑:
试试这样的方法:
*/1 * * * * . /path-to-env/bin/activate && /home/user/Desktop/job/dp/manage.py statistics
这应该读作:激活env,如果成功,执行管理.py脚本。因为管理.py应该有一个python shebang和virtual env设置正确的python解释器,这应该可以工作。在
显然cron通常使用/bin/sh运行,它不知道source命令。所以一个选择是使用一个点作为source替换。另一个要在cron文件中设置/bin/bash:
/bin/sh
source
/bin/bash
有关此问题的详细信息,请访问: http://codeinthehole.com/writing/running-django-cronjobs-within-a-virtualenv/ 这篇文章没有提到source可以被.代替,但我刚试过,而且很管用。所以你现在有几个选择,这篇文章甚至还有其他选择。;)
.
使用类似~/envs/someenv/lib/python /path/to/your/script
~/envs/someenv/lib/python /path/to/your/script
在你的情况下
*/1 * * * * ~/envs/someenv/lib/python /home/user/Desktop/job/dp/manage.py statistics
已编辑:
试试这样的方法:
这应该读作:激活env,如果成功,执行管理.py脚本。因为管理.py应该有一个python shebang和virtual env设置正确的python解释器,这应该可以工作。在
显然cron通常使用
^{pr2}$/bin/sh
运行,它不知道source
命令。所以一个选择是使用一个点作为source
替换。另一个要在cron文件中设置/bin/bash
:有关此问题的详细信息,请访问: http://codeinthehole.com/writing/running-django-cronjobs-within-a-virtualenv/ 这篇文章没有提到
source
可以被.
代替,但我刚试过,而且很管用。所以你现在有几个选择,这篇文章甚至还有其他选择。;)使用类似
~/envs/someenv/lib/python /path/to/your/script
在你的情况下
*/1 * * * * ~/envs/someenv/lib/python /home/user/Desktop/job/dp/manage.py statistics
相关问题 更多 >
编程相关推荐