我使用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
,它的工作正常,但我不明白为什么自我引用代码是实用的。
答案 0 :(得分:3)
将__init__
中的导入更改为
from . import module
您可以在python文档中阅读有关intra-package references的更多信息。
(顺便说一句,据我所知,这里没有涉及setuptools
。)