Page MenuHomeSolus

Python 2 is Dead, Long Live Python 3
Open, HighPublic

Description

Let's use this task to keep track of things stuck on Python 2 so that we know when we can retire Python 2 or whether or not to deprecate them.

Stuck on Python 2:

  • kodi 18.x
  • samba 4.9.x -> Updated to 4.10.x which supports Python 3 (but the Python bindings are disabled for now)
  • duplicity (waiting for version 0.8.x to be promoted as stable)

Planned Deprecation:

  • spyder (python 2 version only)

Event Timeline

DataDrake created this task.Aug 4 2019, 8:43 PM
DataDrake triaged this task as High priority.Aug 4 2019, 8:45 PM
DataDrake edited projects, added Software; removed Lacks Project.
DataDrake moved this task from Backlog to Improvement on the Software board.
DataDrake updated the task description. (Show Details)
ermo updated the task description. (Show Details)Aug 4 2019, 8:56 PM
ermo updated the task description. (Show Details)Oct 7 2019, 12:10 AM
algent added a subscriber: algent.Oct 7 2019, 6:54 AM
algent added a comment.Oct 7 2019, 7:32 AM

Applications like this?

terminator
natron
kicad
catbox
duplicity
utopia-documents
mypaint
openimageio

That list is not entirely correct, duplicity claims support for Python 2.7, 3.6 and 3.7.

That list is not entirely correct, duplicity claims support for Python 2.7, 3.6 and 3.7.

Current stable version of duplicity 0.7.x doesn't support python 3. Development version (0.8) however does.
No issue here, we can quietly wait until 0.8 is promoted to stable.

  • calibre is an interesting one, it will allow us to drop support for multiple python2 packages.
  • if someone managed to build Qt 4 Python (previously known as PySide2), we'll be able to discontinue python-pyside, shiboken and some more qt4 stuffs, so I guess this is an interresting one. I tried already but I never succeeded to get it to build and I couldn't find anyone to help so I gave up. 😢

if someone managed to build Qt 4 Python (previously known as PySide2), we'll be able to discontinue python-pyside, shiboken and some more qt4 stuffs, so I guess this is an interresting one. I tried already but I never succeeded to get it to build and I couldn't find anyone to help so I gave up. 😢

I tried it too (I would want to use PySide2 in Cutter, currently our Cutter build doesn't support Python plugins), but I failed to build it unfortunately. There was a strange error about bindings generation IIRC.
BTW, I tried to build it from all-in-one tarball (the one that includes pyside2, shiboken2 and other related stuff). I think maybe I could try building separate packages from separate tarballs.

A bug in geos autotools scripts means it can't be switched to python3. Infact, support only explicitly goes as high as python 3.3, as seen here. Their cmake scripts do not support enabling python bindings at all.

Patches for calibre python 3 built have been submitted which allows to switch to python 3 or drop python 2 support in small dozen packages.

DataDrake renamed this task from Python 2 is Dying, Long Live Python 3 to Python 2 is Dead, Long Live Python 3.Mon, Jan 6, 2:00 AM

Just a reminder that we should now be moving everything we can to Python 3 only, with no new packages for Python 2. The following packages related are exempt and should retain python 2 support until comar, eopkg, solus-sc, and ypkg are replaced:

  • comar
  • solus-sc
    • pisi (eopkg)
      • piksemel
      • python-pycurl
      • python-urlgrabber
    • python-gobject
  • ypkg
    • python-configobj
      • python-six
    • pyyaml
    • ruamel_yaml

And os-installer

  • os-installer
    • python-cairo
    • python-geoip
    • python-gobject
    • python-parted

See also deps of deps.

Jacalz added a subscriber: Jacalz.Mon, Jan 6, 8:54 AM

An issue I have been facing was that I couldn’t get Inkscape to find scour if I built it using Python 3, only when using Python 2. I don’t know if it is something strange with Inkscape or Scour though. Scour does have python 3 support so we can just switch it over if someone makes Inkscape pick it up correctly...

@Jacalz scour and its deps would also need to be built for python 3...

Jacalz added a comment.EditedMon, Jan 6, 2:55 PM

@Jacalz scour and its deps would also need to be built for python 3...

Yes I know, but the issue is that Inkscape currently uses Python2 and won't pick up the python 3 version. Hopefully the 1.0 release of inkscape can bring some light on to fixing this, it does switch to python3 from what I have heard.

This is also blocked by inkscape in other words...

kyrios123 updated the task description. (Show Details)Mon, Jan 6, 3:07 PM

duplicity (waiting for version 0.8.x to be promoted as stable)

It seems to be considered stable now: https://code.launchpad.net/duplicity http://duplicity.nongnu.org/