Porting from Python 2.3 to 2.4
Rocco Moretti
roccomoretti at hotpop.com
Thu Jul 14 10:14:41 EDT 2005
Joseph Garvin wrote:
> Anand wrote:
>
>> Hi
>>
>> Are there any tools that would help in porting code from
>> Pyton 2.3 to 2.4 ? I have gone through the whatsnew documents
>> and created a document comparing Python 2.4 to 2.3. But so far
>> has not been able to find any tool that will signal code in
>> Python 2.3 that can cause errors in Python 2.4 .
>>
>> rgds
>>
>> -Anand
>>
>>
>>
> All 2.x versions are backwards compatible. Porting just means taking
> advantage of new features. Unless you've been naughty and are accessing
> private methods in stdlib, you're probably fine.
Not strictly speaking true - if your program is taking advantage of some
of the dark corners of the language, there is a chance your program
might not work. Be aware though, that programs that take advantage of
"features" which change between 2.x releases likely aren't using best
practices anyway. (The Python team strongly hesitates to change behavior
if it breaks backward compatibility for a large number of programs.)
See http://www.python.org/doc/2.4.1/whatsnew/whatsnew24.html for details
on what changes.
Possible non-backward compatible changes for 2.3->2.4 transition:
*Int/long operations no longer produces FutureWarnings that can be
suppressed. (Uses new behavior instead.)
*Integer operations will no longer trigger an OverflowWarning.
*You can't rebind None.
*New modules/builtin functions added - if you've used the same names,
you may get the wrong module/function in corner cases.
Minor issues all, but if you happen to rely on that behavior, your code
will now fail, sometimes silently.
More information about the Python-list
mailing list