Python弃用了函数

时间:2009-10-31 07:55:38

标签: python python-2.6

我有一个用Python 2.5编写的Django应用程序,我计划将其升级为与Python 2.6兼容。它包含数百个.py文件。有没有一种简单的方法可以找到这些文件中所有已弃用的函数?

5 个答案:

答案 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)

真正的优势是从2.6迁移到3.0。如果你想知道所有这些,那就有一个非常好的演讲:

http://blip.tv/file/1949281

包括:

  • 不相容性;
  • 解决;
  • 待办事项;
  • 自动迁移工具。

答案 4 :(得分:0)

越来越多我被说服正确的答案是“只需运行你的测试套件就可以找到答案”。你的测试套件合理地覆盖了你的程序,对吧?如果没有,这是一个创造一个的好机会(你可以说服你的点头老板说它是“迁移”;))。