Python 已废弃的函数

3 投票
5 回答
5288 浏览
提问于 2025-04-15 15:33

我有一个用Python 2.5写的Django应用,打算把它升级到Python 2.6兼容的版本。这个应用里有几百个.py文件。有没有简单的方法可以找到这些文件里所有过时的函数呢?

5 个回答

0

我觉得用Python 2.5写的应用在2.6版本上应该可以正常运行,不需要做什么更新。虽然2.6可能会对一些不再推荐使用的功能发出警告,但这些功能在3.0版本中才会被完全移除,在2.6中还是可以用的。

5

在Python的小版本更新之间(比如从2.5到2.6),如果有可能会导致问题的变化,通常会在至少一个版本中发出警告。大多数弃用警告默认都会显示,但你可以通过使用-W这个选项来更细致地控制显示哪些警告。

在小版本更新之间,这个问题相对较小,因为这些更新的设计初衷就是为了保持向后兼容。相比之下,从Python 2.x到3.0的变化就大得多,为此有一些专门的工具,比如使用-3这个选项,可以显示与Python 3.0相关的弃用警告。

5

我不太明白你说的“弃用函数”是什么意思,尤其是在从Python 2.5升级到2.6的时候。

发布说明写得很清楚。

其实没有弃用的函数。只有几个整个模块被弃用了,还有一个异常类的属性。

你可以用grep(或者find)来搜索成百上千个Python源文件。

在我们从2.5升级到2.6的时候,完全没有遇到弃用函数的问题。

弃用的意思是“仍然可以使用”。

我们只有一个被弃用的模块,这个在我们单元测试的时候通过警告信息被发现了。我们只是查看了日志中的弃用信息,然后替换了这个模块。(顺便说一下,就是md5。)最后,我们用grep查找了所有md5的使用地方,并进行了替换。

撰写回答