Open creamidea opened 3 years ago
python 导入分为绝对路径导入和相对路径导入,之前一直不理解相对是怎么相对,直到看到这个:
也就是说,python xx.py 这里的 xx.py 就是主模块,假设代码如下
python xx.py
from .somepkg import func1
他里面的相对引用会变成 __main__.somepkg ,而这个显然是找不到的。如果要使其能够运行,需要将相对路径变成绝对路径
__main__.somepkg
from somepkg import func1
或者把 xx.py 变成一个子模块,让上层变成主模块,比如变成如下结构
project |- lib |- __init__.py `- xx.py `- main.py
main.py 的代码
from lib import xx
reference:
python 导入分为绝对路径导入和相对路径导入,之前一直不理解相对是怎么相对,直到看到这个:
也就是说,
python xx.py
这里的 xx.py 就是主模块,假设代码如下他里面的相对引用会变成
__main__.somepkg
,而这个显然是找不到的。如果要使其能够运行,需要将相对路径变成绝对路径或者把 xx.py 变成一个子模块,让上层变成主模块,比如变成如下结构
main.py 的代码