我有以下结构
> external.py
- folder1
- folder2
> a.py
> b.py
文件a.py:
from b import functionB
文件external.py:
from folder1.folder2.a import functionA
如果我现在调用python a.py
,一切正常。但是调用python external.py
会导致:
ModuleNotFoundError: No module named 'b'
如果我将文件a.py
中的导入更改为:
from .b import functionB
则调用python external.py
工作,但python a.py
结果:
ImportError: attempted relative import with no known parent package
当我从外部文件夹结构导入模块a时,为什么模块b突然不可见了?
我尝试在几个地方添加__init__.py
文件,但没有成功。
在a.py
中添加一个try except语句,应该可以正常工作,当您从external.py
导入a.py
时,工作目录会发生变化
try:
from b import functionB
except ImportError:
from folder1.folder2.b import functionb