扩展第三方Python包时避免冲突

时间:2017-12-16 16:03:16

标签: python

我正在开发一个扩展现有且非常活跃的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

做这种事情是否有公认的最佳做法?

0 个答案:

没有答案