Python 模块无法识别同一文件夹中的文件

Python module not recognizing files in the same folder

我已经使用 setuptools 制作了(至少尝试过)一个包,并试图从另一个 python 文件中使用它。但是,包中的模块似乎无法相互识别。

pkg
|-- pkg
|     |-- __init__.py
|     \-- module.py
\-- setup.py

__init__.py:

import module
#code

pyfile.py

import pkg
#code

当我尝试 运行 pyfile.py 时,我得到

Traceback (most recent call last):
  File "/.../py/pyfile.py", line 1, in <module>
    import pkg
  File "/.../pkg/pkg/__init__.py", line 1, in <module>
    import module
  ModuleNotFoundError: No module named 'module'

如果我写 import pkg.module 就可以正常工作,但我不明白为什么 self.referential 代码会实用。

__init__ 中的导入更改为

from . import module

您可以在 python 文档中阅读有关 intra-package references 的更多信息。

(顺便说一句,据我所知,这里不涉及setuptools。)