Stefan Hajnoczi <stefa...@gmail.com> writes: > On Mon, Aug 21, 2017 at 04:29:44PM +0200, Markus Armbruster wrote: >> What is our Python 2 -> 3 migration strategy? >> >> Don't support Python 3 until a flag day, then flip and don't support >> Python 2? > > Add support for Python 3 so that both Python 2.6+ and Python 3 are > supported.
Python 2.7 is the end of the Python 2 line of development (PEP 404). It'll be maintained until 2020. Downstream support for Python 2 may or may not last longer. > When Python 2 is EOL it will need to be dropped and the code becomes > Python 3-only. > >> Keep the source in Python 2 and support 3 via conversion with 2to3? >> >> Port the source to Python 3 and support 2 via conversion with 3to2? >> >> Port to Python 3, but keep it working with Python 2 with help of the six >> module? >> >> Support both with ad hoc hackery (like this patch does)? > > Yes, please see for details: > https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg01758.html So, first we'll invest in work-arounds to make both 2 and 3 work. Once 2 is gone, we can invest some more to clean them up. Which probably won't happen, so we'll continue to carry work-arounds that no longer make sense. I maintain roughly one fourth of all Python code in qemu, and I'm not looking forward to this hoop-jumping at all. Are we really, really sure we want to go this way? What exactly are we hoping to accomplish by it?