【发布时间】:2015-04-15 01:52:41
【问题描述】:
我即将发布一个我过去几周一直在研究的 Python 库。我已经阅读了很多关于 Python 依赖项的内容,但还不太清楚:
有些人假装你不应该从不固定你的依赖版本,因为它会阻止你的库的用户升级这些依赖。
其他一些声称您应该始终固定您的依赖项版本,因为这是保证您的版本按照开发时的方式工作并防止在依赖项会对您的库造成严重破坏。
我不知何故选择了一个混合解决方案,我假设我的依赖项使用了semantic versioning ,并且只固定了主要版本号(比如somelib >= 2.3.0, < 3),除非主要版本号是0(语义版本控制规定这样的版本被认为是不稳定的,即使只是补丁号被碰撞也可能会破坏 API)。
到目前为止,我不确定哪种方式最好。是否有官方指南(甚至可能是 PEP?)规定了有关 Python 依赖项的最佳实践以及如何指定它们?
【问题讨论】:
标签: python dependencies pip versioning semantic-versioning