从父文件夹的兄弟中导入模块

时间:2016-11-07 05:29:24

标签: python python-import

我正在开发一个类似

结构的项目
project
│   README.md
│
└───package1
│    │  __init__.py
│    │  moduleA.py
│    │  └───classX
│    │  └───classY
│    │  moduleB.py
│
└───package2
│    │  __init__.py
│    │  moduleC.py
│    │  moduleD.py
│
└───package3
│   │   __init__.py
│   │   moduleE.py
│   │   moduleF.py
│   │
│   └───subpackage31
│       │   __init__.py
│       │   moduleG.py
│       │   moduleH.py

moduleG内,我正在尝试导入moduleC以及X内定义的课程YmoduleA。我试过了,

from ...package2 import moduleC
from ...package1.moduleA import classX

我收到了错误,

Traceback (most recent call last):
  File "/project/package3/subpackage31/moduleG.py", line 17, in <module>
    from ...package2 import moduleC
SystemError: Parent module '' not loaded, cannot perform relative import

任何帮助都将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:0)

这是一个非常老的问题,但是Google将我带到了这里,我想我会分享一个可能的解决方案。您可以执行以下操作:

import sys
sys.path.append('../')
from package2 import moduleC
from package1.moduleA import classX