大概会出现这样的情况。
Python xxx.py 跑的好好的。然后用crontab去执行Python就会发现报错。比如我遇到的这种报错是
主要是有诸多的报错,最开始没有注意到这个问题。
File "/usr/local/lib/python3.7/configparser.py", line 958, in getitem
raise KeyError(key)
分析。很明显加载不到该py文件。在思考,我 Python xxx.py 有可能是跟我Linux系统有几个不同版本的Python 有关。比如该Python版本没有对该函数做兼容等。
于是尝试1
在crontab 里加上 /usr/local/bin/python3.10 xxx.py ,也还是不行。
尝试2 在 Python前加 source $HOME/.bash_profile; 也不行
最终在下国际象棋的时候。在思考。路径的问题。然后就想到了项目中有这样的
import configparser
cf = configparser.ConfigParser()
cf.read('../conf/config.ini')
这里如果采用相对路径./config.ini亦会导致无法正常读取。
所以如果用到crontab的话。项目内的路径也得写个绝对路径。感觉这挺不友好的。应该还有其他的解决办法。只是。。。我还没想到
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python脚本crontab执行坑 - Python技术站