我有这样组织的python代码:
part_one
namespace
__init__.py
one.py
part_two
namespace
__init__.py
two.py
__init__.py
都包含:
import pkg_resources
pkg_resources.declare_namespace("namespace")
当我像这样导入它时,我的问题就出现了:
import sys
sys.path.append("part_one")
import namespace.one
sys.path.append("part_two")
import namespace.two # ImportError
明显的解决方法是在path.append("part_two")
之前移动import namespace.one
,但是第一次导入是在我公司用来设置和启动ipython的脚本中,所以我不能在那里添加part_two(part_one是我公司的核心API,part_two是我的项目。)
关于错误发生原因的解释也很好。