On Fri, Dec 26, 2014 at 04:38:08PM +0100, Aurelien Bompard wrote:
[...] then I'll merge this to trunk and do a 3.0b5 release as a
Python 3-only application. Mailman 3 will not be bilingual so Python 2 support will be dropped.
Wow. I am very surprised. So we went from "Python3 compatibility is not on the blocker list for Mailman 3.0" to "Mailman 3.0 will only work on Python 3". That's quite a change. This means I must now port HyperKitty and Kittystore to Python3, check that we don't use Py2-only libraries, etc. And mailman.client must be ported too, since it does import stuff from mailman for testing purposes. I think Postorious is safe, but that must be verified (I believe it imports the testing framework from mailman.client and thus must be ported too).
This also means that mailman 3 will pretty much only not work on server-oriented distro (except probably Debian that likely ships a python 3 version, although not being involved in Debian, I do not know for sure). For the record, neither RHEL7 nor SL7 nor CentOS7 currently have a python3 stack...
And I thought the 3.0 release was almost there. I must say this is rather discouraging.
Same for me.
Pierre
On Fri, 26 Dec 2014, Pierre-Yves Chibon wrote:
This also means that mailman 3 will pretty much only not work on server-oriented distro (except probably Debian that likely ships a python 3 version, although not being involved in Debian, I do not know for sure).
Debian Wheezy(aka Stable) ships Python3, but it's Python 3.2.3, and IIRC, Barry said Mailman3 now needs Python 3.4 in order to be fully supported.
FWIW, Debian Jessy (aka Testing/Frozen?) has Python 3.4.2.
HTH, Geoff.
If it is released to version 1.0 with support for Python 2 then it will need to support Python 2 for the forseeable future. It’ll be deployed all over the place with Python 2 - when would the Python 2 be removed ever after 1.0? David Murray has made substantial changes to email in Py3 - supporting those in both 2 and 3 could be an open question. A Python 3-only version 1.0 has the longer term gain of never having to write mixed 2/3 code after 1.0.
On 27 Dec 2014, at 5:48 am, Geoff Shang <geoff@QuiteLikely.com> wrote:
On Fri, 26 Dec 2014, Pierre-Yves Chibon wrote:
This also means that mailman 3 will pretty much only not work on server-oriented distro (except probably Debian that likely ships a python 3 version, although not being involved in Debian, I do not know for sure).
Debian Wheezy(aka Stable) ships Python3, but it's Python 3.2.3, and IIRC, Barry said Mailman3 now needs Python 3.4 in order to be fully supported.
FWIW, Debian Jessy (aka Testing/Frozen?) has Python 3.4.2.
HTH, Geoff.
Mailman-Developers mailing list Mailman-Developers@python.org https://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://wiki.list.org/x/AgA3 Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: https://mail.python.org/mailman/options/mailman-developers/andrew.stuart%40s...
Security Policy: http://wiki.list.org/x/QIA9
On Dec 27, 2014, at 08:21 AM, Andrew Stuart wrote:
If it is released to version 1.0 with support for Python 2 then it will need to support Python 2 for the forseeable future. It’ll be deployed all over the place with Python 2 - when would the Python 2 be removed ever after 1.0? David Murray has made substantial changes to email in Py3 - supporting those in both 2 and 3 could be an open question. A Python 3-only version 1.0 has the longer term gain of never having to write mixed 2/3 code after 1.0.
Exactly. I'm highly motivated to not release the *core* under Python 2 for the reasons you state above. Personally speaking, I've been so immersed in Python 3 for almost all my other projects (both work and play) that continuing to hack in Python 2 seems like I'm taking down my dinner with pointed sticks. ;)
After finishing the port, I think it's impractical to try to have the core support both Python 2 and 3. There's *a lot* of great new stuff in the Python 3 email package, and while I'm still mostly using the legacy API, I did have to use some of the new stuff to do Subject prefix munging correctly. I expect that as time goes on, we'll need to adopt more of the new email APIs in order to fix bugs, add features, and do things more efficiently. That's not even talking about so much of the other great new stdlib stuff available in Python 3.
Cheers, -Barry
On Dec 26, 2014, at 08:48 PM, Geoff Shang wrote:
On Fri, 26 Dec 2014, Pierre-Yves Chibon wrote:
This also means that mailman 3 will pretty much only not work on server-oriented distro (except probably Debian that likely ships a python 3 version, although not being involved in Debian, I do not know for sure).
It looks like the latest Fedora has Python 3.4, though I'm not sure what version is available in the latest RedHat. Don't RH/Fedora users have something called Software Collections that can provide Python 3.4 even on older versions?
Debian Wheezy(aka Stable) ships Python3, but it's Python 3.2.3, and IIRC, Barry said Mailman3 now needs Python 3.4 in order to be fully supported.
FWIW, Debian Jessy (aka Testing/Frozen?) has Python 3.4.2.
Yep, Jessie will have 3.4, and Ubuntu has had it since Trusty Tahr (14.04 LTS). I don't know about other distros.
There's always an intricate version dance we play, but I really think 3.4 is the best base Python version to support. I would be open to merge proposals that help make it possible to run MM3 on older versions of Python 3 (but for sure nothing before 3.2), however everything that I run already has 3.4. Python 3.4 is 9 months old now and has seen two point releases, so while it make take some time for some distros to catch up, I think the release is plenty mature to use as a baseline.
Cheers, -Barry
On 12/26/2014 4:25 PM, Barry Warsaw <barry@list.org> wrote:
On Dec 26, 2014, at 08:48 PM, Geoff Shang wrote:
FWIW, Debian Jessy (aka Testing/Frozen?) has Python 3.4.2.
Yep, Jessie will have 3.4, and Ubuntu has had it since Trusty Tahr (14.04 LTS). I don't know about other distros.
First, Jessie is not even released yet, wheezy is the current stable, and still has a long lifecycle remaining.
Second, I (for one, but there are many other debian admins maintaining servers who feel the same) will not be upgrading my wheezy install to jessie due to the ongoing systemd debacle.
Locking them out would be a mistake, imo.
On Dec 28, 2014, at 09:23 AM, Tanstaafl wrote:
Second, I (for one, but there are many other debian admins maintaining servers who feel the same) will not be upgrading my wheezy install to jessie due to the ongoing systemd debacle.
I *definitely* don't want to infect this list with a debate about systemd, but as I understand it, while systemd will be the default in Jessie, it will still be possibly to run it with other init systems.
Sticking to the issue at hand: whether we should try to support older Python 3 versions in order to support older Linux distro versions. The mechanics of setting up automated tests for those two versions is tricky, but I took a look at the test suite for the py3 branch against Python 3.3 and 3.2.
Python 3.3 is no problem; the test suite passes fully. This doesn't help for Wheezy though.
Python 3.2 is more problematic. There are quite a few things that aren't supported, some of which would be easy to fix (e.g. residual uses of u'' strings), some which could be compat'd around (e.g. missing unittest.mock library and contextlib.ExitStack classes), and some which are probably blockers. The biggest immediate problem seems to be that Falcon doesn't support Python 3.2. Its minimum requirement is 3.3.
But here's the thing: let's say you want to run MM3 on Wheezy, or some other Linux distro that doesn't have Python 3.4. It's unlikely that MM3 will be backported into those distro's backports channels, so you'll have to install it from some alternative location, like from source, a PPA, or an unofficial channel. The same probably goes for the newer versions of some MM3 dependencies. If you're going to install MM3 that way anyway, is it that much more effort to install Python 3.4 that way too?
Cheers, -Barry
participants (5)
-
Andrew Stuart
-
Barry Warsaw
-
Geoff Shang
-
Pierre-Yves Chibon
-
Tanstaafl