#python导包:
在同一个项目目录下一个包倒入另一个包模块相对导入
问题描述
一个项目目录,在ui.view.py中导入module1.py的某个方法
from ..modules.module1.py import ..
运行view.py报错ImportError: attempted relative import with no known parent package
└── project
├── __init__.py
├── main.py
└── modules
├── __init__.py
└── module1.py
└── module2.py
└── ui
├── __init__.py
└── view.py
└── item.py
原因分析:
当执行view.py时python解释器认为当前文件ui目录为顶级目录(也就是根目录),简单说就是python解释器不知道他有module目录
解决方案:
方法一:从根目录进入
python -m project.ui.view
方法二将根目录加入
import sys
sys.path.append('../')
from modules.module1.py import ..```