[conspire] Mailing Lists: Mailman 2 -> Mailman 3, or something different? [was some other subject]

Akkana Peck akkana at shallowsky.com
Mon Feb 19 08:39:34 PST 2024


> Deirdre Saoirse Moen wrote on 2024-02-18 12:57:
> > I'm just*gobsmacked* that it's taken so many people so long to jump
> > from 2 to 3. Yes, the biggest change is int / int = float (instead of
> > int) and the other big one is that str can't be used for both text
> > and binary data.

Ron / BCLUG writes:
> Plus all the `print` statements need to be converted to `print()` functions.

Things like print statements can be translated automatically -- I used a program called 2to3 which did a pretty good job of translating all the prints and other easily automated changes.

For me, that left a few problems that couldn't be machine translated:

- urllib* got rewritten/refactored, so anything that fetches or parses URLs (and didn't use the external module "requests") had to be completely rewritten;

- the string/unicode change Deirdre mentioned required a fair amount of rewriting, couldn't be automated, and sometimes introduced somewhat subtle new bugs that took a while to find and fix;

- there's no python3-gtk, so GTK apps had to be rewritten to use GObject introspection, which only works with gtk3, so apps also had to be rewritten in GTK3 when they were upgraded to python3 and GIO. (That got a lot easier once I found out about the pygtkcompat introspection module, though I wonder how long it will continue to be supported.)

It was a hassle, no question. But I'm with Deirdre at being amazed to see projects that still haven't upgraded, long after python2 has ceased to be maintained.

        ...Akkana



More information about the conspire mailing list