我对Python比较陌生,而且我发现导入/包/模块的整个过程对我来说太难理解了...... 我有两个很大的疑问,让我试着用一个例子来解释它们:
我有一个带有这种架构的Python项目(所有名称都已组成):
project/
- main.py
+ data/
- app.py
- test.py
+ tools/
- util.py
如果我想在Solver
中util.py
使用某些内容(例如,让我们说main.py
},我会像这样导入它:
from tools.util import Solver
工作正常。如果我想在test.py
中导入来自do_it
(例如,函数app.py
)的内容,则此功能也适用:
from .test import do_it
现在有了问题:
(1)如果我要从Solver
的{{1}}模块导入util.py
该怎么办?
我知道你可以为每个软件包设置一个app.py
,你可以在其中定义函数/ classes / exceptions / ...你希望其他人能够从该软件包导入,但有没有办法在这种情况下,这可以帮助我吗?
另外,如果我像这样进行导入:
__init__.py
当我在本地测试#34;它时工作正常#34;但是如果我通过 pip 安装我的from tools.util import Solver
包,我总会收到类似{{1}的错误}}。所以我的第二个疑问是:
(2)如何让同一个导入同时工作"本地"安装后?