尝试在非包中进行相对导入(经过2to3)

17 投票
1 回答
20833 浏览
提问于 2025-04-16 14:48

在使用 2to3 工具把代码转换成 Python 3.x 版本后(你可以看看我之前的问题),我在构建的时候遇到了这个错误:

  File "setup.py", line 28, in <module>
    from . import mof_compiler
ValueError: Attempted relative import in non-package

这段代码:

from . import mof_compiler
mof_compiler._build()

但是我不明白为什么会出错,因为 mof_compilersetup.py 在同一个文件夹里。请帮帮我!

1 个回答

13

因为没有 __init__.py 文件,所以当前的工作目录不是一个包。

你不需要使用相对导入。

或者。

你需要一个 __init__.py 文件来创建一个包。

撰写回答