【发布时间】:2018-02-12 10:12:10
【问题描述】:
在昨天之前,我没有使用过 linux 或 python 的经验。我是一名 Visual C# 开发人员,因此请在回复时牢记这一点。
我在 linux(ubuntu 服务器)中设置了一个 CRON 作业,它执行一个调用 python 脚本的 shell 脚本。 python 脚本在终端中运行良好。 cron 作业正在调用 shell 脚本(我有输出)。
在 google 上花了大约 10 个小时试图弄清楚为什么它似乎没有调用 python 脚本后,我决定查看 import 语句。有4个,其中一个不是python库而是第三方python库。无论出于何种原因,当我运行程序时,它在导入语句中获取库都没有问题。但是,当 cron 作业调用导入时,它一定无法找到它。
我的批处理脚本如下所示:
#!/bin/sh
PATH=/usr/local/bin
echo "start"
/usr/bin/python /usr/local/bin/checkit.py
checkit.py 和 import.py 都在 /usr/local/bin 中。两者都是 chmod 775。我还需要做什么才能让 cron 看到它?该程序在我调用它时运行良好,我编写的另一个不使用任何第三方的脚本在 cron 作业中运行良好。我唯一能想到的是python在执行程序时找不到导入.py文件
对不起,如果我没有说清楚,这对我来说是全新的。
【问题讨论】:
-
python 代码本身可能是相关的。
. script.bsh有效吗? -
抱歉,script.bsh 是什么?
-
无论你的 bash 脚本被命名为什么
-
bash 脚本运行,我在日志中看到输出......当我在脚本执行的 python 文件中取出 import [[class]] 时,我可以看到第一个打印语句,显然其余的失败,因为它依赖于该导入。当我离开 import 语句时,python 脚本没有输出,任何地方都没有错误......只是死了。
-
如果我只是从控制台运行脚本,一切正常。
标签: python shell ubuntu cron sh