我有一个简单的项目结构,其中大部分是空的 python 文件,以便测试在线教程中的概念:
project
|--package1
| |--__init__.py
| |--module1.py
|
|--package2
| |--__init__.py
| |--module2.py
|
|--__init__.py
Run Code Online (Sandbox Code Playgroud)
模块1.py:
from .package2.module2 import function2
Run Code Online (Sandbox Code Playgroud)
模块2.py:
def function2():
return 0
Run Code Online (Sandbox Code Playgroud)
直接运行 module1.py 会出现此错误:
Traceback (most recent call last):
File "c:\"blahblahblah"\project\package1\module1.py", line 1, in <module>
from .package2.module2 import function2
ImportError: attempted relative import with no known parent package
Run Code Online (Sandbox Code Playgroud)
我尝试通过将 module2.py 放入项目文件夹本身并修改导入来降低问题的复杂性,因为我的教程建议它可以工作(来自 .module2 import function2),但这会产生相同的错误。
旁注:我的印象是 init 文件对于我的 python 版本来说是不必要的,但我添加了它们以覆盖我的所有基础。
Python版本3.9.1
任何提示将不胜感激。