繁体   English   中英

Python-相对导入不起作用

[英]Python - Relative import does not work

我的项目结构:

project1/
    __init__.py
    main/
        __init__.py
        {main}.py
        file1.py
        file2.py
        subA/
            __init__.py
            {moduleA}.py 
                class {A_class}
            file3.py
            file4.py
        subB/
            __init__.py
            {moduleB}.py
            file5.py
            file6.py

我想在{moduleB} .py中导入{muduleA} .py。 为什么不能这样做?

在{moduleB} .py中...

from project1.subA import {moduleA}

(下面的方法效果不佳。)

from ..subA import {moduleA}             
from ..subA.{moduleA} import {A_class}   
from project1.subA.{moduleA} import {A_class}
import project1.subA.{moduleA}.{A_class}

解决如下

import sys,os
sys.path.append(os.path.abspath('../../..'))

import project1.subA.moduleA.A_class
from project1.subA.moduleA import A_class

最好显式导入模块,以免将来造成混淆。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM