Switching to Python 3

Bohuslav Kabrda bkabrda at redhat.com
Sat Aug 4 07:46:25 UTC 2012


----- Original Message -----
> On Fri, Aug 03, 2012 at 03:55:26AM -0400, Bohuslav Kabrda wrote:
> > ----- Original Message ----- (From Nick)
> > > 
> > > I believe Fedora uses Python for more core OS infrastructure than
> > > Ubuntu
> > > does, so it's a bigger migration challenge. Does anaconda run on
> > > Python
> > > 3? Does yum?
> > > 
> > 
> > Well, I believe they don't. But if noone pushes them, they never
> > will. I think that a decision needs to be made when the transition
> > will happen, so that these projects have a time frame, in which
> > they need to adapt to Python 3.
> > 
> I suggest that you start by asking nicely what things need to be done
> to
> port those things to python2 and then go to work on doing them.
>  Trying to
> force a change via the Feature process is reversing the order of
> things.
> Features don't exist to force other people to do work.  Features
> exist to
> showcase and coordinate the work that you are doing.
> 

Ok, I probably didn't make myself clear. What I meant was making Python 3 the default, not dropping Python 2 support. Therefore all the projects can still use python2 in shebangs/whatever. What I mean to achieve by this is saying "hey, we're switching to Python 3, it's default from now on and you should start porting your code and stop writing python3-incompatible code" - and I will be very glad to help them.

> For the package management stack, I know that one big blocker is that
> pycurl
> doesn't have a python3 port.  There's a patch out there to add it
> (complete
> with reference counting leaks and other bugs :-(  but pycurl upstream
> seems
> dead.  So one of the very first steps would be for someone to take
> over
> pycurl upstream maintainance and add python3 support.  (And then
> start
> fixing reference leaks and other bugs in both the python2 and python3
> bindings).
> 
> > > It's that delta of Python applications that Fedora ships as
> > > required
> > > components in the base OS, but Ubuntu does not, that will
> > > potentially
> > > cause problems.
> > > 
> > 
> > Sure, it will cause problems. But it will cause them eventually.
> > Fedora 19 may be too soon (personally I think it's not), but we
> > should really start pushing the various projects to actually start
> > doing something about Python 3.
> > 
> The best way to push is to work with projects to port their code.  I
> think
> talking to the projects that require python2 that are in the LiveCDs
> and the
> install DVDs and porting the libraries that they require to be
> buildable as
> both python2 and python3 modules would be a sensible first step.
>  Then work
> on porting the applications themselves.  Along the way, you can
> figure out
> some important milestones to call out in Features.  "The 100 python3
> library
> port challenge -- Fedora Contributors helped port 100 python
> libraries to
> python3",  "50% python3 in distro -- half of all python modules that
> are
> packaged are now python3 capable", "python3 package management stack
> -- our
> package manager is now running on python3 instead of python2"
> 
> One thing to watch out for is that once you start porting
> applications, the
> live images and install dvds will start requiring python3.  If you
> aren't
> careful, some releases may end up requiring both python2 and python3.
>  This
> is something that would need to be coordinated with the spins as well
> as the
> applications you're porting to figure out what is okay as a size
> constraint.
> You may end up having to maintain a parallel python3 branch for many
> applications until all of the applications on an image are ported to
> python3.
> 
> -Toshio
> 
> _______________________________________________
> python-devel mailing list
> python-devel at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/python-devel

-- 
Regards,
Bohuslav "Slavek" Kabrda.


More information about the python-devel mailing list