繁体   English   中英

用完cron.hourly不会导入Python模块

[英]Running out of cron.hourly won't import a Python module

我的foo每小时都用完cron。 它已经chmod + x'd,并且运行正常。 我的问题是它无法识别Python模块为可导入模块。

我有〜/ Foo / src,其中包含原始的Python代码,我将其转换为可执行文件(主文件)以及要尝试导入的其他模块(foobar)。 我有一个init .py坐在那里,空着,应该让任何一个模块导入。 实际上,使用

python src/main.py

一切正常,我没有收到此错误。 跑步时

run-parts -v /etc/cron.hourly/main

我收到如下错误:

ImportError: No module named foobar
run-parts: /etc/cron.hourly//main exited with return code 1

我导入foobar的方式是

os.chdir("/home/ubuntu/Foo/src/")
import foobar

同样,这在从Python运行时有效,但在运行我的可执行文件时无效。 为什么会这样,为避免这种情况我该怎么做?

import sys
sys.path.append("/home/ubuntu/Foo/src")

import foobar

从文档中:

系统路径

字符串列表,用于指定模块的搜索路径。 从环境变量PYTHONPATH初始化,再加上与安装有关的默认值。

在程序启动时初始化后,该列表的第一项path [0]是包含用于调用Python解释器的脚本的目录。 如果脚本目录不可用(例如,如果交互式调用解释器或从标准输入中读取脚本),则path [0]为空字符串,该字符串将引导Python首先搜索当前目录中的模块。 请注意,由于PYTHONPATH的结果,在插入条目之前插入了脚本目录。

程序可以出于自己的目的随意修改此列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM