eclipse中的相对导入和包结构?
我在相对导入方面遇到了麻烦,但我认为这是因为我没有完全理解包的结构 例如,这里是我的包结构eclipse中的相对导入和包结构?,eclipse,python-2.7,package,Eclipse,Python 2.7,Package,我在相对导入方面遇到了麻烦,但我认为这是因为我没有完全理解包的结构 例如,这里是我的包结构 neo_autorig/ Source folder, Top level __init__.py basic/ Subpackage for basic utiltites for the script __init__.py
neo_autorig/ Source folder, Top level
__init__.py
basic/ Subpackage for basic utiltites for the script
__init__.py
name.py
name_test.py
module_locator.py
不止这些,但这基本上就是我用来进口的
在name.py中,我正在使用导入模块定位器
from .. import module_locator
但是它说
# Error: line 1: Attempted relative import beyond toplevel package
顶级脚本(比如我用来执行所有事情的主脚本/ui)应该放在eclipse包的顶级源文件夹中吗?还是我设置的不对。源文件夹中还有其他子包,每个子包中都有脚本
编辑:如果我在一个子包中放入另一个包,我可以相对导入,只有在这种情况下,我不能从一个子包相对导入到顶级包,并且脚本源位于我的python路径中。python导入机制与文件的
\uu名称
一起工作。直接执行文件时,文件名为“\uuuuu main\uuuu”
,而不是通常的名称。对于此类问题的常见答案是使用-m选项运行程序。我建议大家阅读,也可以提问