从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
为您构建脚本,这样即使您的代码已安装而不是从源代码树中运行,脚本也能正常工作。