Hi, Does anyone know why Python 3.6 is not the default Python 3 under the upcoming Ubuntu Zesty, or what may be holding it back? Is there anyone that could give it a nudge? It's in the repos but not as python3: http://packages.ubuntu.com/zesty/python3 http://packages.ubuntu.com/zesty/python3.6 -Mike
On Feb 07, 2017, at 02:15 PM, Mike Miller wrote:
Does anyone know why Python 3.6 is not the default Python 3 under the upcoming Ubuntu Zesty, or what may be holding it back?
I guess that would be me. :)
Is there anyone that could give it a nudge? It's in the repos but not as python3:
http://packages.ubuntu.com/zesty/python3 http://packages.ubuntu.com/zesty/python3.6
I posted about this on the ubuntu-devel mailing list: https://lists.ubuntu.com/archives/ubuntu-devel/2017-January/039648.html It's in the Zesty (and actually Yakkety) archives so that we can do the test rebuilds described in the above message. But it's not yet a "supported" version, which means that while most pure-Python third party modules should be importable, anything with an extension module will not be. On Debian and derivatives, we share what is essentially site-packages among all *installed* versions of Python 3, which doesn't necessarily mean that those packages will work, but they should be available on the import path with no extra work. Packages may still need to be functionally ported to Python 3.6 of course. However, because extension modules need to be recompiled by the Ubuntu build daemons, they only get done for "supported" versions. That term has a specific meaning in the Debian Python packaging sense, but I don't think the details are important (ask if you're interested). "Supported" is a step before "default", which is where we change the /usr/bin/python3 symlink. This step does not require an archive rebuild. Still for now you can `apt install python3.6` and run it via /usr/bin/python3.6 with the above caveats of course. It's functional enough to build venvs (you might want the python3.6-venv package), and tox will work, so it's everything folks should need to do porting work. Here's another page collecting some information: https://wiki.ubuntu.com/Python With a 9-12% build failure (again, forgetting about whether the packages actually work), it's enough that given where we are in the cycle, supporting Python 3.6 is not feasible. Debian Stretch just entered freeze so any work we do in Ubuntu to make packages Python 3.6 compatible will eventually have to be synced back to Debian, since they can't be uploaded there directly until Stretch is released. Zesty itself enters feature freeze on Feb 16, so that's another looming deadline on the amount of work we can accomplish this cycle. My plan is to enable Python 3.6 as a supported version early in the Zesty+1 cycle, hopefully before the first archive rebuild. I don't know whether Stretch will be released by then, but we'll deal with as we have before if that's the case. In the meantime, this should give upstreams a couple of more months to continue to port, and it will give us a full cycle to work on porting packages in Ubuntu. I plan for 18.04 LTS to ship only Python 3.6 (similarly for Debian Stretch+1). Dropping Python 3.5 does require an archive rebuild, but it's much less risky than adding a new version. The best way to help right now is to work with upstreams to port to Python 3.6 if necessary. You can see our test rebuild results here: https://launchpad.net/~pythoneers/+archive/ubuntu/python-rebuilds/+packages Anything with a red X means the package failed to build. That usually flexes at least the upstream's own unittests, but there may be deeper issues and other tests that fail, which may or may not hold up individual packages, and anything that depends on them. The Fedora/RH ecosystem probably has their own list, which I'd expect to mostly overlap with ours, but I don't have those links handy. Cheers, -Barry
On 07/02/2017 22:38, Barry Warsaw wrote:
On Feb 07, 2017, at 02:15 PM, Mike Miller wrote:
Does anyone know why Python 3.6 is not the default Python 3 under the upcoming Ubuntu Zesty, or what may be holding it back?
I guess that would be me. :)
Is there anyone that could give it a nudge? It's in the repos but not as python3:
http://packages.ubuntu.com/zesty/python3 http://packages.ubuntu.com/zesty/python3.6
I posted about this on the ubuntu-devel mailing list:
[... snip comprehensive explanation about how versions get promoted within Debian / Ubuntu ...] Well I'm only a casual Linux user, but this was interesting just because of the better understanding it gives of the processes which distros have to go through once new versions are released upstream. Thanks TJG
On 02/07/2017 11:38 PM, Barry Warsaw wrote:
On Feb 07, 2017, at 02:15 PM, Mike Miller wrote:
Does anyone know why Python 3.6 is not the default Python 3 under the upcoming Ubuntu Zesty, or what may be holding it back?
I guess that would be me. :)
Thank for the in-depth explanation!
The Fedora/RH ecosystem probably has their own list, which I'd expect to mostly overlap with ours, but I don't have those links handy.
Hello, Python 3.6 is the python3 in Fedora Rawhide, on track to become Fedora 26 in June. These packages fail to build (which, for properly packaged software, includes passing upstream tests where feasible): insight (failure unrelated to Python) python-django-admin-honeypot (not ported for django 1.10) python-os-brick (unrelated packaging problems) python-oslo-messaging (blocked by python-oslo-middleware) python-oslo-middleware (not ported for webob 1.7+) python-oslo-versionedobjects (blocked by python3-oslo-messaging) python-recommonmark (not ported to latest commonmark) python-repoze-who-plugins-sa (test failures) rb_libtorrent (probably unrelated to Python) shogun (probably unrelated to Python) That's 10 of 3349 python3-compatible packages. The list used to be much longer and contain much more important packages, but got to the current state thanks to individual maintainers and people like Adam Williamson, Zbigniew Jędrzejewski-Szmek, and Igor Gnatenko (and the python-maint team, but we're paid for it). The list was also longer than usual because there was no mass rebuild of packages for Fedora 25, so some build failures introduced in the last year are only popping up now. Released versions of Fedora will be getting getting a "python36" package soon; for now it's installable using: dnf install --enablerepo=updates-testing python36 This is one of Fedora's "other Pythons" (interpreters other than the "current" 2.x and 3.x, i.e. python26, python34, python33). It's enough to make virtualenv/venv and tox work, but no system packages are built for these.
participants (4)
-
Barry Warsaw
-
Mike Miller
-
Petr Viktorin
-
Tim Golden