在另一个 python 项目中使用 python 库的自定义分支的最佳方法是什么?

What is the best way to use a custom fork of a python library in another python project?

我正在开发 python 应用程序。此应用程序依赖于我分叉并进行了大量修改的开源库。

如果重要,github 上提供了(非常多的 WIP)分叉库,它有帮助。

要在我的应用程序中导入分叉库,我目前正在做的事情如下:

sys.path.append(os.path.abspath(os.path.join(__file__, '..', '..', '..', '..', '..', 'couchdb')))
import couchdb

这行得通,但出于显而易见的原因,我对它并不完全满意。它远非优雅或灵活,而且似乎也让我的 IDE 感到困惑。我觉得,尤其是像 Python 这样优雅的语言,应该有更好的方法来同时开发应用程序和它所依赖的库。

库和应用程序目前并排位于我机器上的一个文件夹中,共享一个虚拟环境,但驻留在两个单独的 git 存储库中。对我来说重要的是它们保留在不同的 git 存储库中,因此在应用程序中嵌套库已经过时了,但我很乐意更改其余部分。

我确定其他人以前遇到过这种情况,所以我希望有人知道一种方法,该方法比 Python 更 "officially sanctioned"。

您的代码基于 couchdb 的事实并不重要,因为它可能不再 兼容 couchdb。只需以自己唯一的名称正确安装它,然后像导入任何其他模块一样导入它。

import couchdbdmj

不要让您的脚本依赖于您的开发环境:配置您的开发环境以统一提供您的自定义模块。