[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Python 2, Python 3, Stretch & Buster



On 04/16/2015 03:50 PM, Paul Tagliamonte wrote:
If you're interested in this effort, please email me. This is a really good new
contributor task, so if anyone's asked you how they could get involved with
Debian, you should send them to us!

/me raises hand

I'm interested! :)

Generally speaking, many upstream contributors for OpenStack are aware of the fact that switching to Python 3 is important, but I'm not sure everyone realize how urgent it is.

FYI, I have, as much as possible, tried to add Python 3 support in all the packages I maintain. However, some upstream dependencies don't have Python 3 support. For what I do (ie: OpenStack), here's the list of bad upstream packages:
https://wiki.openstack.org/wiki/Python3#Dependencies

Eventlet, which is one of the package hugely used in OpenStack, just added support for Python 3. I already have a Python 3 package for it, I'm just waiting for Jessie to be released so that I can upload it (without breaking what's currently in Debian).

Alison wrote that she may work on the memcached (aka python-memcache). This one is a real mess, and it'd be better to switch to pymemcache, however, I'm not sure which of the 2 (ie: fixing memached or switching to pymemcache) would give the most work.

Last, I've done a bit of 2 -> 3 fixing, and mostly, I agree it's not that hard. But some bits are tricky. An example from a page which I used [1]:

i = 1
print('before: i =', i)
print('looping:', [i for i in range(5)])
print('after: i =', i)

doesn't produce the same "after" in Python 2 or 3 (ie: with Python 2, the last print() will echo a 4, while Python 3 will keep i within the scope of the for loop and will print 1 at the end). This is much harder to detect than just a print statement instead of function, or a wrong except or raise issue.

I'd be happy to share some more links of useful stuff about porting to Python 3 (I have some more on my "other laptop" (tm)). Is there already a page with some links on the subject in the Debian wiki?

Cheers,

Thomas Goirand (zigo)

[1] http://nbviewer.ipython.org/github/rasbt/python_reference/blob/master/tutorials/key_differences_between_python_2_and_3.ipynb


Reply to: