在另一个 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
不要让您的脚本依赖于您的开发环境:配置您的开发环境以统一提供您的自定义模块。
我正在开发 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
不要让您的脚本依赖于您的开发环境:配置您的开发环境以统一提供您的自定义模块。