简体   繁体   中英

Python - Relative import does not work

My project structure:

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

I want to import {muduleA}.py in {moduleB}.py. Why cannot do this attempt?

in {moduleB}.py...

from project1.subA import {moduleA}

(not work as well followings..)

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

solved as following

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

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

It will be better to import module explicitly to avoid confusing in the future.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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