On Tue, Nov 3, 2009 at 4:55 AM, Barry Warsaw <ba...@python.org> wrote: > I'd like to read some case studies of people who have migrated applications > from 2.6 to 3.0. Having just gone through a 2 week sprint to migrate > Launchpad from 2.4 to 2.6, and only making it to 2.5, I can say that I was > unpleasantly surprised at the amount of work it took. A lot of that was > working out the dependency upgrades, with some amount of fixing our code > (mostly tests) for things that have changed (e.g. exception print/str > format). We didn't make it to Python 2.6 because dealing with deprecation > warnings for sha, md5, and sets (a little in our code but tons in our > dependencies) consumed most of our remaining time.
Ouch. sets. I'm guessing you are referring to code that was still using the pre-2.4 sets.py module? Yes, that must have been painful. > Given another week or so I think we would have made it to Python 2.6, but > I'm not at all confident that that would have been a good enough platform to > attempt an upgrade to Python 3, even if all of our very numerous large > dependencies were available for Python 3. Maybe it wouldn't be so bad, but > my recent experience informs me that I'm probably being too optimistic > rather than too pessimistic. There are two stages of porting to 2.6 you have to go through. The first one, which you would probably have reached in that week, is running on 2.6 period. You can then release your code for the benefit of others wanting to use it on 2.6. But the second stage, which can take much more time (depending on the state of your code base) is to run on 2.6 *free of warnings with the -3 flag on*. You pretty much have to consider this a separate port, and it is here where you do much of the prep work for 3.x (at least for Python code -- for C extensions it's not so clear). The good news is that you can claim 2.6 support before you've even started this stage; the other good news is that doing this right will really help you prepare for 3.x. And in most cases you can even (with some effort) maintain compatibility with 2.5 or even 2.4 -- though you may have to work around some things like the md5 and sha warnings. The bad news is that this stage may well take more time than porting from 2.4 to 2.6. -- --Guido van Rossum (python.org/~guido) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com