我有mypackage
个空文件夹__init__.py
和两个模块compute.py
和config.py
。在包含mypackage
和main.py
的文件夹中,我运行python main.py
from mypackage.compute import myfunction
,compute.py
内from config import *
。文件夹结构如下:
main.py
mypackage
__init__.py
compute.py (contains myfunction)
config.py
现在,当我运行python main.py
时,一切都运行正常,而如果我运行python3 main.py
,我会得到:
Traceback (most recent call last):
File "main.py", line 1, in <module>
from mypackage.compute import myfunction
File "/home/myself/Downloads/mypackage/compute.py", line 1, in <module>
from config import *
ImportError: No module named 'config'
不太确定这里有什么问题?
答案 0 :(得分:0)
Python 3.x改变了导入分辨率。如果要执行相对导入,现在必须指定完全相对导入。
from .config import *