#1413 F22 System Wide Change: Python 3 Migration Improvements - https://fedoraproject.org/wiki/Changes/Python_3_Migration_Improvements
Closed None Opened 5 years ago by jreznik.

For the 2015-02-11 meeting as the Change Proposal was announced on devel-announce list on 2015-02-04 as an exception - replaces original https://fedorahosted.org/fesco/ticket/1182 (Python 3 as the Default Implementation) that was retargeted to F23.

Since Changes/Python_3_as_Default was retargeted for F23 mostly due to uncertainty about DNF and Anaconda porting status, this change aims to reflect current progress of Python 3 readiness in Fedora and sum up goals for Fedora 22.

This ticket will be discussed in the FESCo meeting on Wednesday at 18:00UTC in #fedora-meeting on irc.freenode.net.

One note about the Change text:

"Note that Python packaging guidelines have already been changed to prefer Python 3 over Python 2 for newly introduced applications since Fedora 22."

Although I'm not on the FPC anymore I suspect that the use of Fedora 22 in the updated guidelines was made by the FPC in the context of Python3 as default for F22 being accepted. If this Fesco Change is accepted then the guidelines should keep saying F22. If this change is not accepted, it might be good for FPC to reaffirm the release that the switch is made or change it to F23.

CC'ing tibbs and james so one of them can make sure that I'm not misreading the FPC's thoughts on this.

To be honest I don't see how the guidelines have changed to prefer one python version over another. What am I missing?

@toshio: Yes, FPC made the decision before the "Python 3 as Default" change was deferred. Even if this change is not accepted, I see no harm in that. The only potentially problematic part is that new applications should prefer Python 3 to Python 2 - at this point, I think it's really not an issue. Am I missing something that could actually cause some troubles?

@tibbs: I think this is about the sentence "If only one executable is to be shipped, then it owns its own slot and should use /usr/bin/python3 from Fedora 22 on."

From today’s FESCo meeting: F22 System Wide Change: Python 3 Migration Improvements has been accepted (+6)

Since this is approved, it doesn't matter :-) the reason it would matter if it wasn't approved is that nowhere in the guidelines does it say that default python is restricted to new applications as you seem to be saying. All applications that could run on python 3 are supposed to switch to python 3 for f21 according to the guidelines. That is: (1) the kind of system wide change that it's good to have fesco approval to point people at. (2) without people involved in a Fedora change actually doing work to make it a reality, likely to just result in a hodge podge of applications that have switched to python 3 because the maintainer cares deeply about python 3 mixed with applications that haven't switched because the maintainer is apathetic to the language; they just want the functionality of the program to be available in fedora.

So having this change approved gives you the authority to open bugs for maintainers to switch their packages over and also to go in and switch packages if the maintainer doesn't respond to the bugs. That puts the actual packageset in agreement with the target release in the guidelines and mms asked for a more consistent packageset which is a good thing.

Yeah, this has been accepted, so just to explain my viewpoint a bit more:

I see what you mean. My point is that even if people went and ported their packages, no harm would come from that. Even before this effort started, we already had a mixture of python2 and python3 apps, both on livecd and throughout the whole distro.

The new guidelines do not say "new applications" explicitly, that's true, but they also say that applications [in general] should be built with Python 3 (no must). So while this should be pointed out in reviews for new applications, old applications may choose to stay on Python 2 - that's unless they're subject of the approved change. At least that's the way I interpret it. We can take the discussion somewhere else if you want to continue, I think there's no need to bother FESCo with this any more :)


Login to comment on this ticket.