问题记录
1.项目目录
Demo/
|-- test1/
| |-- test1.py
|-- test2/
| |-- __init__.py
| |-- test21.py
| |-- test22.py
|-- main.py
2.代码示例
# test1.py
First = 1
# test21.py
from ..test1.test1 import First
Second_one = 21 + First
# test22.py
from .test21 import Second_one
Second_two = Second_one + 22
if __name__ == '__main__':
print(Second_two)
执行test22.py,异常信息如下:
Traceback (most recent call last):
File "F:/Demo/test2/test22.py", line 10, in <module>
from .test21 import Second_one
ImportError: attempted relative import with no known parent package
解决方案
1.方案一
1.进入项目所在目录,注意不是进入Demo目录,而是Demo所在目录
2.python -m Demo.test2.test22
2.方案二
1.在Demo路径下创建任意.py文件,如:test_main.py
2.test_main.py代码如下:
import os import sys
# 此处添加的目录需为Demo所在目录
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
from Demo.test2.test22 import Second_two
print(Second_two)
参考文档
http://www.likecs.com/show-50291.html
https://www.bbsmax.com/A/D8543bP6JE/