Mar*_*ski 6 python deployment pip backwards-compatibility
我正在运行一个相当复杂的Django应用程序,大约一年了.它在requirements.txt中有大约50个包
每当我需要一个新包时,我用pip安装它,然后手动将它添加到requirements.txt文件中,并带有固定版本:
SomeNewModule==1.2.3
这意味着我的大部分套餐现在都在一年后过时了.当我特别需要一个新功能时,我已手动更新了其中几个.
我开始认为可能存在我错过的安全补丁,但由于后向不兼容,我不愿盲目地更新它们.
有没有标准的最佳做法?
版本控制python模块(和许多其他软件)的常见模式是major.minor.patch,其中在初始版本之后,补丁版本不会更改api,次要版本可能会以向后兼容的方式更改api,而主要版本通常不向后兼容
所以如果你有module==x.y.z a相对安全的需求规范是:
module>=x.y.z,<x.y+1.0
Run Code Online (Sandbox Code Playgroud)
请注意,虽然这通常没问题,但它基于常见的做法,并不能保证工作,并且更有可能通过更多“有组织”的模块保持稳定
| 归档时间: |
|
| 查看次数: |
1051 次 |
| 最近记录: |