codecamp

PyPDF2 弃用过程

PyPDF2 努力成为当前用户和新用户的优秀图书馆。我们谨慎地引入潜在的重大变化,但如果它们从长远来看能为社区提供价值,我们就会这样做。

我们希望并认为弃用不会很快再次发生。如果他们这样做,用户可以依赖以下过程。

语义版本控制

PyPDF2 使用语义版本控制。如果您想避免破坏性更改,请使用依赖固定(也称为版本固定)。在 Python 中,这是通过在文件中指定要使用的确切版本来完成的 requirements.txt。可以支持您的工具pip-compile来自 pip-tools.

如果您使用的是Poetry,则文件已完成 poetry.lock

PyPDF2 如何弃用功能

假设 PyPDF2 的当前版本是x.y.z. 经过讨论(例如通过 GitHub 问题),我们决定删除一个类/函数/方法。这是我们的做法:

  1. x.y.(z+1): 添加弃用警告。如果有替换,也会引入替换,并且警告会告知更改及其发生的时间。这些文档让用户了解弃用、弃用的时间和新功能。CHANGELOG 通知它。

  2. (x+1).0.0:通过将 DeprecationWarnings 替换为 DeprecationErrors,以破坏性方式删除/更改代码。我们这样做是为了帮助那些以前没有看过警告的人。CHANGELOG 通知它。

  3. (x+2).0.0:删除了 DeprecationErrors。

这意味着用户在 CHANGELOG 中有 3 个警告,一个 DeprecationWarning 直到下一个主要版本,一个 DeprecationError 直到那个之后的主要版本。

请注意,添加警告对于某些用户来说可能是一项重大更改;很可能只是在 CI 中。这意味着需要对其进行适当记录。


PyPDF2 Cmap
PyPDF2 测试
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }