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

时间:2017-08-17 20:27:13

标签: python-3.x setuptools python-module

我使用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,它的工作正常,但我不明白为什么自我引用代码是实用的。

1 个答案:

答案 0 :(得分:3)

__init__中的导入更改为

from . import module

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

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