gpt4 book ai didi

python - 被相对进口难倒

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:33 25 4
gpt4 key购买 nike

我不知道发生了什么:

$ ls
__init__.py main.py module.py
$ cat main.py
from . import module
$ python3 main.py
Traceback (most recent call last):
File "main.py", line 1, in <module>
from . import module
ValueError: Attempted relative import in non-package

最佳答案

From PEP 328 :

Relative imports use a module's __name__ attribute to determine that module's position in the package hierarchy. If the module's name does not contain any package information (e.g. it is set to '__main__') then relative imports are resolved as if the module were a top level module, regardless of where the module is actually located on the file system.

说明:__name__ 属性通常是导入模块时的路径,例如在 foo/bar.py 中,如果 foo 是顶级包,则 __name__ 将为“foo.bar”。在您直接运行的 .py 文件的特殊情况下,__name__ 的计算结果为 '__main__',这意味着相对导入将不起作用。

关于python - 被相对进口难倒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5923775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com