【发布时间】:2014-10-17 09:17:03
【问题描述】:
我正在处理的项目中有两个包(它们都在项目根目录中):
我在room 包中的main.py 模块需要从speechtotext 包中导入一些模块。所以我在main.py 中有导入,看起来像from speechtotext.<modlue> import <something>。对于这些跨包导入,我不断收到ImportError。
如何修复该导入以使其正常工作?
【问题讨论】:
-
main.py是否作为主脚本运行? -
@MartijnPieters- 是的。它初始化一些东西并运行它们。
-
您不能从包内运行脚本。如果您希望
room和speechtotext都成为包,请将main.py移出 ofroom。 -
@MartijnPieters - 我能否以某种方式将根目录添加到
PYTHONPATH而不实际运行sys.path.insert?例如,我在根目录中有一个configuration.py模块,其他包中的许多模块都依赖该模块。这也可能会导致ImportError。 -
如果
main.py位于根目录,则该目录自动成为sys.path的一部分。
标签: python packages importerror python-import