在过去的几天里,我阅读了许多关于相对 Python 导入的文档,但遇到了以下文件夹结构的问题:
parent_folder
├── subfolder1
│ └── __init__.py
│ └── file_1.py
├── subfolder2
│ └── __init__.py
│ └── file_2.py
│
└ __init__.py (parent folder has an init in it)
在file_2.py
我想访问file_1.py
. 我尝试添加以下内容,file_2.py
但似乎没有一个工作:
1. from ..subfolder1 import file_1 #ImportError: attempted relative import with no known parent package
2. import parent_folder.subfolder1.file_1 #ModuleNotFoundError: No module named 'parent_folder'
3. from parent_folder.subfolder1 import file_1 #ModuleNotFoundError: No module named 'parent_folder'
我现在真的很迷茫,似乎无法理解为什么会这样。我现在可能已经阅读了 10 种关于相对进口的不同指南,但仍然无法弄清楚原因。
注意,如果我把它放在file_2.py
里面parent_folder
,然后添加import subfolder1.file1
它导入好,但我不能file_2.py
从它的位置移动或使用sys.path.append()
有没有人比我有更多的模块经验?谢谢!