python脚本crontab执行坑

大概会出现这样的情况。

成都创新互联服务项目包括丰台网站建设、丰台网站制作、丰台网页制作以及丰台网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,丰台网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到丰台省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

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执行坑
网站网址:http://scyanting.com/article/dsogced.html