Que*_*atl 4 python cron environment-variables python-2.7
我有一个兄弟姐妹的Python驱动程序和库脚本:
/home/mydir/pythonProjs/
Run Code Online (Sandbox Code Playgroud)
driver.py
lib.py
在driver.py我有线:
from lib import method1
从Linux上的命令行获得以下成功:
python /home/mydir/pythonProjs/driver.py
Run Code Online (Sandbox Code Playgroud)
但是当我在crontab中尝试以下内容时:
10 1 * * * export PYTHONPATH=~/mydir/pythonProjs; python /home/mydir/pythonProjs/driver.py
我收到错误:
ImportError: No module named lib.method1
Run Code Online (Sandbox Code Playgroud)
我还尝试将crontab命令中的路径设置更改为完全限定的路径/home/mydir/pythonProjs,省略'export',并且还尝试编写.sh文件(使用必要的#!bin/bash ...)
我有一个主要问题和一个后续问题:主要:解决问题的最佳方法是什么?跟进:cron的路径访问背后的理念是什么?
在我投票过快之前,我会提到我已阅读但未成功(或正确解析)以下内容: - 我在哪里可以设置crontab将使用的环境变量? - 运行Python的Crontab问题 - http://pythonadventures.wordpress.com/2012/03/31/calling-a-python-script-from-crontab/
尝试从虚拟作业中打印出环境变量
* * * * * env > /tmp/env.output
Run Code Online (Sandbox Code Playgroud)
如https://askubuntu.com/questions/23009/reasons-why-crontab-does-not-work中所述
还要检查shell crontab正在使用什么.您可以$SHELL通过添加来设置shell
bash
在你的crontab上
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
6688 次 |
| 最近记录: |