![定义 crontab 下 python 脚本要考虑的 sys 路径](https://linux22.com/image/1552696/%E5%AE%9A%E4%B9%89%20crontab%20%E4%B8%8B%20python%20%E8%84%9A%E6%9C%AC%E8%A6%81%E8%80%83%E8%99%91%E7%9A%84%20sys%20%E8%B7%AF%E5%BE%84.png)
假设您有以下 crontab 定义:
* * * * * /home/dan/test.py
假设您有以下路径/home/dan/foo/
,其中foo
目录包含一个名为 的 Python 模块foo
。
而test.py
看起来像:
import sys
sys.path.append('/home/dan')
from foo.foo1 import Foo1
这就是一切运行良好的方式,但现在我想将路径定义传递到 cron,我执行以下操作:
- 注释掉
sys.path.append('/home/dan')
test.py
在 crontab 的 cronjob 配置上方添加此定义:
PATH=/home/dan
但无法正常工作。知道原因吗?
答案1
你应该尝试这个:
PYTHONPATH='/home/dan' python /home/dan/test.py