2024-10-03 23:27:30 发布
网友
Cron调用python脚本会抛出Module not found的错误,对于已安装并正常工作的库,当python脚本在ssh上的virtualenv中单独执行时
Python脚本在virtualend的ssh中运行,现在尝试为该脚本设置cron并添加错误日志
错误日志
ModuleNotFoundError:没有名为“google.cloud”的模块
想要按照新的python3.6安装而不是python2.7默认路径设置库路径吗
Cronjobs运行在与典型bashshell不同的环境中。在运行cronjob之前,需要激活virtualenv
假设您有一个名为“/a/b/main.py”的python文件和一个virtualenv“/a/b/env”。下面是一个cronjob示例,每晚12点运行脚本(使用crontab -e创建):
crontab -e
0 0 * * * source /a/b/env/bin/activate && python /a/b/main.py
GOTCHA:cron默认在shshell中运行,而不是bash。如果您想使用bash,您需要显式地指定它(例如/bin/bash ./something.sh),或者在crontab中定义SHELLenv var(在顶部包括SHELL=/bin/bash)
sh
bash
/bin/bash ./something.sh
SHELL
SHELL=/bin/bash
Cronjobs运行在与典型bashshell不同的环境中。在运行cronjob之前,需要激活virtualenv
假设您有一个名为“/a/b/main.py”的python文件和一个virtualenv“/a/b/env”。下面是一个cronjob示例,每晚12点运行脚本(使用
crontab -e
创建):GOTCHA:cron默认在
sh
shell中运行,而不是bash
。如果您想使用bash
,您需要显式地指定它(例如/bin/bash ./something.sh
),或者在crontab中定义SHELL
env var(在顶部包括SHELL=/bin/bash
)相关问题 更多 >
编程相关推荐