小编Mic*_*tuh的帖子

如何解决:尝试在没有已知父包的情况下进行相对导入

我有一个简单的项目结构,其中大部分是空的 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

任何提示将不胜感激。

python python-import python-3.x

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×1

python-3.x ×1

python-import ×1