从python中的同一文件夹导入失败

从python中的同一文件夹导入失败,python,import,Python,Import,我有一个文件夹:蝗虫跑步者。其中有两个文件:hocust\u runner.py,和hocust\u maker.py。在hocust\u maker.py中,我想导入hocust\u runner中定义的所有内容 如果我这样做: from.hocust\u runner导入* 没有突出显示表明这是一个错误。但是,如果我运行它,我会得到: SystemError:父模块“”未加载,无法执行相对导入 我已经尝试了从Occast\u runner导入Occast\u runner的和我能想到的所有其

我有一个文件夹:
蝗虫跑步者
。其中有两个文件:
hocust\u runner.py
,和
hocust\u maker.py
。在
hocust\u maker.py
中,我想导入
hocust\u runner
中定义的所有内容

如果我这样做:

from.hocust\u runner导入*

没有突出显示表明这是一个错误。但是,如果我运行它,我会得到:

SystemError:父模块“”未加载,无法执行相对导入


我已经尝试了从Occast\u runner导入Occast\u runner的
和我能想到的所有其他组合,但没有任何效果。我如何才能让它发挥作用?

您是否正在运行顶级脚本
Occast\u maker.py
?如果是这样,你就不能那样做。脚本所在的目录永远不是包。(或者,如果您通过蒙骗
sys.path
将其强制为一个包,这是非法的,即使未经解释器检查,也会导致一系列问题。)如果您正在运行文件夹
Occast\u runner
所在的脚本,请使用
from Occast\u runner import*
答案是(1)更改内容,以便将其作为模块运行(例如,父目录中的
python-mocust.hocust\u maker
)。(2) 更改内容,使模块不直接运行,而是导出一个
main
run
入口点函数,并且您有一个单独的脚本(再次位于父目录中),该脚本从Occast.Occast\u runner导入main执行
;main()
。(3) 更改与(2)相同的内容,但在运行
setup.py
时,请使用
setuptools
为您构建脚本,这样即使您的代码已安装而不是从源代码树中运行,脚本也能正常工作。