如何配置 Python 以便我可以直接从包中导入函数?
Posted
技术标签:
【中文标题】如何配置 Python 以便我可以直接从包中导入函数?【英文标题】:How to configure Python so that I can import a function directly from package? 【发布时间】:2021-11-08 02:16:07 【问题描述】:假设我有一个类似的包结构
pkg
__init__.py
module
__init__.py
a.py
b.py
假设a.py中有一个函数func。我想创建一个库,可以直接从 pkg 导入 func。
from pkg import func
我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:您可以通过__init__.py
进行配置。
pkg/__init__.py
from .module.a import func
这样当pkg
被访问时,__init__.py
会被加载,从而允许直接访问pkg.func
这是documented:
常规包通常实现为包含
__init__.py
文件的目录。导入常规包时,会隐式执行此__init__.py
文件,它定义的对象将绑定到包名称空间中的名称。__init__.py
文件可以包含与任何文件相同的 Python 代码其他模块可以包含,Python在导入时会为模块添加一些额外的属性。
【讨论】:
以上是关于如何配置 Python 以便我可以直接从包中导入函数?的主要内容,如果未能解决你的问题,请参考以下文章
如何从包内的两个不同文件夹中导入一个模块,该模块导入另一个模块
未找到模块:错误:包路径 ./locales 在角度更新到 13 后未从包中导出