我正在开发一个扩展现有且非常活跃的Python包的项目 - 我们称之为packageA
。我们的软件包packageB
添加了一些超出packageA
范围的功能,但很大程度上依赖于来自packageA
的类。
我们希望packageA
的用户随时可以使用packageB
的内容,而无需执行以下操作:
import packageA as pkgA
import packageB as pkgB
然后必须跟踪哪个类和方法来自哪个包。
目前,__init__.py
基本目录中的packageB
文件包含以下内容:
import packageA
from packageA import *
我担心与我们的包装可能发生冲突。我的想法是给包装一个像这样的结构:
packageB/
__init__.py
packageA/
__init__.py
然后从packageB
的{{1}}移除导入并将其移至__init__.py
packageA
,然后我只能导入{{1}中所需的类和方法1}}命名空间。用户仍然可以通过__init__.py
命名空间访问packageB
。
做这种事情是否有公认的最佳做法?