我尝试了很多从子文件夹导入python模块的操作,但是失败了。 我的项目文件夹,如:
- app.py
- pk
__init__.py
pk_1
__init__.py
file_1.py
pk_2
__init__.py
file_2.py
现在我要从 file_2.py 导入 file_1.py 因此,在我的file_2.py中添加
from pk.pk_1.file_1 import abir
or
from pk.pk_1 import file_1
它向我显示 ModuleNotFoundError:没有名为“ pk”的模块
然后我尝试了另一种方式
from ..pk_1 import file_1
它向我显示 ValueError:尝试相对导入超出顶级包
import sys
print(sys.path)
然后只显示我
project_dir/pk/pk_2
和其他python目录
如果我申请:
sys.path.append("project_dir")
然后它起作用。但是我认为这样做不是一个好方法。我在这个问题上做了很多Google工作,但无法解决。