【发布时间】:2019-08-26 10:15:51
【问题描述】:
我想知道如何处理依赖库的多个主要版本。
我有一个开源库Foo,处于早期发布阶段。该库是另一个开源库Bar 的包装器。 Bar 刚刚推出了一个新的主要版本。 Foo 目前只支持之前的版本。由于我猜测很多人从Bar 之前的主要版本转换到新的主要版本会很慢,所以我不愿意自己切换到新版本。
如何最好地处理?在我看来,我有这些选择
- 切换到新的主要版本,可能会拒绝使用旧版本的人。
- 继续使用旧版本,可能会拒绝人们使用新版本。
- 有两个不同的分支,为所有新功能更新两个分支。不确定这如何与 PyPi 一起使用。我不是每次都必须以不同的版本号发布吗?
- 将存储库分成两部分。真的不想这样做。
对我来说理想的解决方案是拥有相同的代码库,我可以在其中拥有某种类似 C/C++ 宏的东西,如果版本是 new,则使用 new_bar_function,否则使用 old_bar_function .从 PyPi 安装库时,主要版本的已安装版本指示使用哪个版本。如果未安装任何版本,请安装最新版本。
不胜感激。
【问题讨论】:
标签: python pip dependencies wrapper pypi