[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Python 2 EOL starts to break packages
From: |
zimoun |
Subject: |
Python 2 EOL starts to break packages |
Date: |
Thu, 28 Jan 2021 18:10:08 +0100 |
Hi,
The bug#46132 [1] reports the failure of the package
’python2-setuptools’. It is expected because this Python 2 is inherited
via ’package-with-python2’ from Python 3 and the current
’python-setuptools’ is at v52. And, Setuptools dropped the support of
Python 2 at v47. See their changelog [2,3]:
--8<---------------cut here---------------start------------->8---
v47.0.0
28 May 2020
Breaking Changes
#2094: Setuptools now actively crashes under Python 2. Python 3.5 or later
is required. Users of Python 2 should use setuptools<45.
--8<---------------cut here---------------end--------------->8---
Because Python 2 is End-Of-Life, these cases will happen more and more.
It is not new and “we” (at least me) are aware this would happen–see
bug#38420 [4] from Nov 2019; but “we“ have not really work on it.
Anyway. :-)
Removing ’python2-setuptools’ from Guix could break some other packages.
Maybe? Who knows? ;-)
Instead, a plan could be:
a) move all the ’python2-<package>’ to their own module
say (gnu packages python2-xyz)
b) pin the ones which breaks; pin meaning «not use package-with-python2»
c) fix a deadline announcing the remove of availability at user level
d) after this date, hide all the python2 packages
e) remove case per case these hidden python2 packages
Today, it does not make sense to have ’python2-setuptools’ in a manifest
file or type ‘guix install python2-setuptools’. So it should not be
possible and raise “package does not exist”. However, I could have a
custom package that depends on ’python2-setuptools’ so it should be
accessible via “#:use-modules (gnu packages python2-xyz)”.
WDYT?
1: <http://issues.guix.gnu.org/issue/46132>
2: <https://setuptools.readthedocs.io/en/latest/history.html>
3: <https://github.com/pypa/setuptools/issues/2094>
4: <http://issues.guix.gnu.org/issue/38420>
All the best,
simon
- Python 2 EOL starts to break packages,
zimoun <=