Removing python311-base results in additional package removal suggestions:

Hello, Operating System: openSUSE Tumbleweed 20250310 is installed on machine here. When I pass '# zypper -vvv rm -u python311-base' there are many packages shown for removal. A bunch of these packages have names starting with python313, ghc etc. https://paste.opensuse.org/pastes/6e72e009b21f Passing '$ zypper packages --unneeded' lists some python311 packages and no python313 packages are shown. If no action is taken will the future released Tumbleweed snapshots incorporate removal of the python311 related packages (I think probably not)? How would you proceed with action if any?

On 3/13/25 8:45 AM, Andrei Borzenkov wrote:
Ok, '$ sudo zypper -vvv rm python311-base' > https://paste.opensuse.org/pastes/2f97b25d1309

On 3/13/25 1:42 PM, Andrei Borzenkov wrote:
Ok, zypper.solverTestCase.gz is available here. > https://c.gmx.com/@979853684072518786/0N_0pDwXV_ODsrtXCGNycA

On Fri, Mar 14, 2025 at 3:10 AM -pj <pj.opensuse@gmx.com> wrote:
...
The apparent reason why zypper removes these packages is the lack of the corresponding Python 3.13 modules. I.e. jupyter-notebook requires the python3dist(notebook) which is provided by andrei@tumbleweed:~> zypper search --provides -x 'python3dist(notebook)' Loading repository data... Reading installed packages... S | Name | Summary | Type ---+--------------------+----------------------------+-------- | python311-notebook | Jupyter Notebook interface | package | python312-notebook | Jupyter Notebook interface | package | python313-notebook | Jupyter Notebook interface | package andrei@tumbleweed:~> You have the python311-notebook but not the python313-notebook. Normally I would expect that when the default Python version is advanced, for all installed Python modules the versions matching the default are also installed. Looks like it happens for some, but not for all packages. Can you show rpm -qa python311-\* | sort rpm -qa python313-\* | sort

On Fri, 14 Mar 2025 10:52:45 +0300, Andrei Borzenkov <arvidjaar@gmail.com> wrote:
Dominique did mention missing packages: On Thu, 13 Mar 2025 12:24:26 +0100, Dominique Leuenberger <dimstar@opensuse.org> wrote: To: factory@lists.opensuse.org Subject: Re: Tumbleweed snapshot 20250308 switches /usr/bin/python3 to python 3.13
PJ, would you also show the output of Dominique's command? Here, un-line-wrapped: zypper se --provides python3- | grep python3 | grep -v -e python313 -e python3- -- Robert Webb

On Fri, Mar 14, 2025 at 12:36 PM Robert Webb <webbdg@verizon.net> wrote:
For the packages in question the Python 3.13 versions do exist, they just were not installed. I do not know whether it can be considered a bug. Maybe a packaging list would be a better place to ask.
This command will show identical information on every system using the same snapshot.

On 3/14/25 2:52 AM, Andrei Borzenkov wrote:
Ok, $ rpm -qa python311-\* | sort https://paste.opensuse.org/pastes/fdfd968cf0dc Ok, $ rpm -qa python313-\* | sort https://paste.opensuse.org/pastes/553eb82d194e

Sorry for the to post... I guess there is a difference for the solver if it's about packages the user has explicitly installed vs stuff that was Auto-selected for installation. User picked things are 'kept, made to work with different deps' whereas auto installed stuff - especially with rm -u - is deemed no longer needed it nothing declare that dep. That's only a hunch - zypper se $pkg for different ones should be able to confirm this for OPs system (first column I vs I+) Cheers Dominique Am 16. März 2025 08:09:36 MEZ schrieb -pj <pj.opensuse@gmx.com>:

16.03.2025 14:03, Dominique Leuenberger aka DimStar wrote:
Of course there is, but that is not the problem here. Removing python311 removes also jupyter packages. These packages have dependencies that are satisfied by any Python version (3.11, 3.12, 3.13), so when moving to Python 3.13 zypper did not install the corresponding 3.11 modules. The intention is to have the latest versions: # Any flavor is okay, but suggest the primary one for automatic zypper choice -- boo#1214354 Requires: python3dist(jupyterlab) = %{distversion} Suggests: python3-jupyterlab But as we have seen it works only during initial installation, not during update/migrating to the new Python version. As I said earlier, I do not know whether it should be considered a bug, but it certainly is not the expected behavior. It is quite possible that there are other similar dependencies that trigger this snowball effect with --clean-deps.

On 3/13/25 8:45 AM, Andrei Borzenkov wrote:
Ok, '$ sudo zypper -vvv rm python311-base' > https://paste.opensuse.org/pastes/2f97b25d1309

On 3/13/25 1:42 PM, Andrei Borzenkov wrote:
Ok, zypper.solverTestCase.gz is available here. > https://c.gmx.com/@979853684072518786/0N_0pDwXV_ODsrtXCGNycA

On Fri, Mar 14, 2025 at 3:10 AM -pj <pj.opensuse@gmx.com> wrote:
...
The apparent reason why zypper removes these packages is the lack of the corresponding Python 3.13 modules. I.e. jupyter-notebook requires the python3dist(notebook) which is provided by andrei@tumbleweed:~> zypper search --provides -x 'python3dist(notebook)' Loading repository data... Reading installed packages... S | Name | Summary | Type ---+--------------------+----------------------------+-------- | python311-notebook | Jupyter Notebook interface | package | python312-notebook | Jupyter Notebook interface | package | python313-notebook | Jupyter Notebook interface | package andrei@tumbleweed:~> You have the python311-notebook but not the python313-notebook. Normally I would expect that when the default Python version is advanced, for all installed Python modules the versions matching the default are also installed. Looks like it happens for some, but not for all packages. Can you show rpm -qa python311-\* | sort rpm -qa python313-\* | sort
participants (4)
-
-pj
-
Andrei Borzenkov
-
Dominique Leuenberger aka DimStar
-
Robert Webb