我有一个用Python 2.5编写的Django应用程序,我计划将其升级为与Python 2.6兼容。它包含数百个.py文件。有没有一种简单的方法可以找到这些文件中所有已弃用的函数?
答案 0 :(得分:5)
在Python的点发布之间(如2.5和2.6之间),任何可能破坏的内容都是对至少一个版本的警告。默认情况下会发出大多数弃用警告,但您可以使用-W解释器调用选项对发出的警告进行细粒度控制。
这是点释放之间的一个相对较小的问题,因为它们明确地旨在向后兼容。 Python 2.x和3.0之间有一个更大的变化,其中一些特殊用途工具包括-3解释器调用选项,它显示了与Python 3.0相关的弃用警告。
答案 1 :(得分:5)
从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
。)最后,我们为md5
的所有用途做了GREP并替换了它们。
答案 2 :(得分:0)
我认为Python 2.5应用程序在2.6版本中应该可以正常工作而不需要更新。 2.6可能会抱怨某些已弃用的功能,但这些功能仅在3.0中删除,仍然可以在2.6中使用。
答案 3 :(得分:0)
答案 4 :(得分:0)
越来越多我被说服正确的答案是“只需运行你的测试套件就可以找到答案”。你的测试套件合理地覆盖了你的程序,对吧?如果没有,这是一个创造一个的好机会(你可以说服你的点头老板说它是“迁移”;))。