Python不建议使用的函数

fd3cxomn  于 2022-12-02  发布在  Python
关注(0)|答案(5)|浏览(115)

我有一个用Python 2.5编写的Django应用程序,我打算升级它以兼容Python 2.6。它包含了数百个.py文件。有没有一个简单的方法可以找到这些文件中所有被弃用的函数?

kt06eoxx

kt06eoxx1#

当从Python 2.5升级到Python 2.6时,我不确定你所说的“弃用函数”是什么意思。
The release notes是非常特定的。
没有任何被弃用的函数。一些完整的模块被弃用,Exception类的一个属性也被弃用。
你有grep(或find),你有Python,你可以用它来搜索Python源代码的100个文件。
当我们从2.5到2.6进行更改时,我们没有任何弃用函数的问题。
“已弃用”表示“仍然有效”。
我们正好有一个被弃用的模块,在单元测试期间通过警告消息报告了它。我们只是读取日志中的弃用消息,并替换了该模块。(顺便说一下,它是md5。)最后,我们对所有md5的使用进行了grep,并替换了它们。

j91ykkif

j91ykkif2#

在Python的点版本之间(比如2.5和2.6之间),任何可能中断的东西都是至少一个版本的警告。默认情况下,大多数弃用警告都会发出,但是你可以通过-W解释器调用选项对发出的警告进行细粒度的控制。
这在单点版本之间是一个相对较小的问题,因为它们明确地打算向后兼容。一个较大的变化是在Python 2.x和Python 3.0之间,一些特殊用途的工具包括-3解释器调用选项,它显示了Python 3.0相关的弃用警告。

rqdpfwrv

rqdpfwrv3#

我认为Python 2.5的应用程序在2.6中应该可以正常工作,而不需要更新。2.6可能会抱怨一些过时的功能,但这些功能只是在3.0中删除了,在2.6中仍然可以工作。

utugiqy6

utugiqy64#

真实的重要的是从2.6迁移到3.0。如果您想了解这方面的全部内容,有一个非常好的演讲:
http://blip.tv/file/1949281
它包括:

  • 不相容性;
  • 变通办法;
  • 待办事项;
  • 自动迁移工具。
2skhul33

2skhul335#

我越来越相信正确的答案是“只要运行你的测试套件就能找到答案”。你的测试套件合理地覆盖了你的程序,对吗?如果没有,这是一个很好的机会来创建一个测试套件(你可以说服你的尖头发的老板,这是“迁移”;)).

相关问题