Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python deprecated functions

I have a Django app written in Python 2.5 and I plan to upgrade it to be compatible with Python 2.6. It contains hundreds of .py files. Is there a simple way to find all deprecated functions in those files?

like image 664
jack Avatar asked Dec 02 '25 09:12

jack


2 Answers

I'm not sure what you mean by "deprecated functions" when upgrading from Python 2.5 to Python 2.6.

The release notes are very specific.

There aren't any deprecated functions. A few whole modules are deprecated, and one attribute of the Exception class.

You have grep (or find) and you have Python which you can use to search 100's of files of Python source.

When we made the change from 2.5 to 2.6 we had zero issues with deprecated functions.

Deprecated means "still works".

We had exactly one deprecated module, and it was reported during our unit testing via a warning message. We simply read the log for deprecation messages and replaced the module. (It was md5, by the way.) Eventually, we did a grep for all uses of md5 and replaced them.

like image 122
S.Lott Avatar answered Dec 06 '25 06:12

S.Lott


Between point releases of Python (like between 2.5 and 2.6) anything that might break is a warning for at least one release. Most deprecation warnings are emitted by default but you have fine-grained control over the emitted warnings with the -W interpreter invocation option.

This is a relatively small issue between point releases as they are explicitly intended to be backward compatible. A bigger change is between Python 2.x and 3.0 for which some special-purpose tools including the -3 interpreter invocation option which shows the Python 3.0 related deprecation warnings.

like image 29
Tendayi Mawushe Avatar answered Dec 06 '25 04:12

Tendayi Mawushe



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!