我有一个用 Python 2.5 编写的 Django 应用程序,我计划将其升级为与 Python 2.6 兼容。它包含数百个 .py 文件。有没有一种简单的方法可以在这些文件中找到所有已弃用的函数?
5 回答
在 Python 的不同版本之间(如 2.5 和 2.6 之间),任何可能出现问题的东西都是对至少一个版本的警告。大多数弃用警告是默认发出的,但您可以使用 -W 解释器调用选项对发出的警告进行细粒度控制。
这是点发布之间的一个相对较小的问题,因为它们明确旨在向后兼容。Python 2.x 和 3.0 之间有一个更大的变化,其中一些特殊用途的工具包括 -3 解释器调用选项,它显示了与 Python 3.0 相关的弃用警告。
从 Python 2.5 升级到 Python 2.6 时,我不确定您所说的“不推荐使用的函数”是什么意思。
发行说明非常具体。 http://docs.python.org/whatsnew/2.6.html
没有弃用的功能。不推荐使用一些完整的模块,以及 Exception 类的一个属性。
你有 GREP(或 FIND),你有 PYTHON,你可以用它来搜索 100 个 Python 源文件。
当我们从 2.5 更改为 2.6 时,弃用函数的问题为零。
弃用的意思是“仍然有效”。
我们只有一个不推荐使用的模块,它是在我们的单元测试期间通过警告消息报告的。我们只是阅读了弃用消息的日志并替换了模块。(md5
顺便说一句,它是。)最终,我们为所有用途做了一个 GREPmd5
并替换了它们。
我认为 Python 2.5 应用程序应该可以在 2.6 中正常工作而无需更新。2.6 可能会抱怨一些不推荐使用的功能,但这些功能仅在 3.0 中被删除,并且在 2.6 中仍然有效。
我越来越相信正确的答案是“运行你的测试套件来找出答案”。你的测试套件合理地覆盖了你的程序,对吧?如果没有,这是创造一个的好机会(你可以说服你的头脑冷静的老板这是“迁移”;))。