NumPy 1.20 dropped support for Python 3.6
Dear Python packagers, maintainers, hackers, users, here is another mailinglist post which unevitably people tend to not see and start to complain about later: NumPy 1.20 was merged into openSUSE:Factory standard yesterday. The next released Tumbleweed snapshots will have it too. Relevant for end users: ----------------------- A few packages are not ready for NumPy 1.20 yet. Numba 0.51 is one example. If this is relevant for you, don't zypper dup your system yet. Relevant for package maintainers: --------------------------------- While we already fixed some of the fallout from SciPy 1.6.0, the number of unresolvable packages in openSUSE:Factory standard is now back at 265. Many of them because they cannot find python36-numpy. A few more because of OpenStack packages not supporting multiple python3 flavors. Dirk Müller is already working on that. This is the relevant thread on python@lists.opensuse.org with suggestions how to deal with it: https://lists.opensuse.org/archives/list/python@lists.opensuse.org/message/7... While getting NumPy 1.20 ready for Ring1 staging, I noticed that most of the packages initially failing do actually not have hard requirements on NumPy. In those cases it is enough to keep the python36 flavor, but not try to install python36-numpy. %python_module now has a handy capability to support RPM's boolean dependencies to achieve this: BuildRequires: %{python_module numpy if (%python-base without python36-base)} If necessary, tell pytest to skip numpy relevant tests then. But many upstream packages already skip the tests automatically. The same principle goes for SciPy, Matplotlib, Pandas and so on. If NumPy is indeed a hard requirement for the package, just `%define skip_python36 1`. And please take care of depending packages as well. Happy coding, Ben Am 10.02.21 um 23:20 schrieb Ben Greiner:
Dear Python packagers,
Am 16.01.21 um 21:43 schrieb Ben Greiner:
Am 26.12.20 um 16:01 schrieb Ben Greiner:
- If upstream does not support python 3.6 anymore (Numpy already deprecates to support it in new releases, according to NEP 29 [5]) you can use `%define skip_python36 1`. All depending packages need to do the same. Alternatively a branched package can provide an older version for this flavor, e.g. python-ipython715 has been created to provide the last version which support Python 3.6.
SciPy's recent update to 1.6.0 already dropped support for Python 3.6. Luckily for us, the update is stuck in Staging:I, and :N got merged before it. But in order to move on in the spirit of Tumbleweed, we need to `%define skip_python36 1` in python-scipy. As a consequence, all packages requiring python-scipy need to do the same.
This just happened: python-scipy 1.6.0 has been merged into openSUSE:Factory today. There is no longer a python36-scipy , and packages depending on SciPy, which are in Ring1, also already skip the build. Scikit-image and networkx are notable mentions. So do many packages in devel:languages:python:numeric. Due to the drop, the count of unresolvable packages in Factory rose from just below 100 to 184. Please check you python packages now and skip the python36 build if necessary. Please keep your singlespec definitions, so that a new python39 flavor in the (hopefully near) future can pick up, where we just left.
participants (1)
-
Ben Greiner