Recommended way to install/use python on tumbleweed

I’m not sure how to work with Python on Tumbleweed. Many packages and also Python 3.14 are not available in the standard repositories. The venv installation using pip also fails when something needs to be compiled (here for dbus-python, compile error in venv: “Dependency ‘glib-2.0’ not found, tried pkgconfig and cmake”).

What is the correct approach here? Which additional repository do I need to install? For me, the current repository structure is confusing …

Can’t speak to 3.14 not being available, as I use 3.13 and 3.11 here myself.

For most of my stuff that requires anything there isn’t a package pre-made for, I use venv. But as you noticed, dependencies not being found can be an issue - you have to install those packages on the host (you need the relevant -devel packages). You’ve probably noted that if you try to build/install packages with pip outside venv, you’ll get a message that you may create issues by installing using pip when there’s system-managed packages. That message is accurate - using venv (regardless of OS/distro) is highly recommended.

If you provide specific examples of what you’re having troubles with, someone may be able to assist. I’d probably start by making sure the base development pattern (devel_basis) is installed, but what’s going to be required by any given python library is going to depend on the library’s requirements itself - there’s no easy ‘you just need these 6 packages for all python package builds’ solution.

The same as every other distro. You create virtual environments and work in them. You install dependencies when pip needs them.

There is nothing special about Tumbleweed here.

1 Like

I think that there is then something wrong with your repositories.

> sudo zypper search python | grep -c python311
3938
> sudo zypper search python | grep -c python313
3993
> sudo zypper search python | grep -c python314
24
> sudo zypper search python | grep -c python315
24

So python 3.11/3.13 are fully supported and the base packages for python 3.14 and 3.15 are present.

Regarding your repos, can you share the output of:

zypper repos --alias --refresh --show-enabled-only --sort-by-priority --uri

OK, here is the output:

+----------+--------------------------------------------------------------------------------------
 2 | NVIDIA:repo-non-free       | repo-non-free                                 | Ja      | (r ) Ja   | Ja      |   99     | https://download.nvidia.com/opensuse/tumbleweed
 4 | google-chrome              | google-chrome                                 | Ja      | (r ) Ja   | Ja      |   99     | https://dl.google.com/linux/chrome/rpm/stable/x86_64
 5 | mozilla                    | Mozilla based projects (openSUSE_Tumbleweed)  | Ja      | (r ) Ja   | Ja      |   99     | https://download.opensuse.org/repositories/mozilla/openSUSE_Tumbleweed/
 6 | multimedia_apps            | Multimedia Applications (openSUSE_Tumbleweed) | Ja      | (r ) Ja   | Ja      |   99     | https://download.opensuse.org/repositories/multimedia:/apps/openSUSE_Tumbleweed/
 7 | openSUSE:repo-non-oss      | repo-non-oss                                  | Ja      | (r ) Ja   | Ja      |   99     | http://cdn.opensuse.org/tumbleweed/repo/non-oss
 8 | openSUSE:repo-openh264     | repo-openh264                                 | Ja      | (r ) Ja   | Ja      |   99     | https://codecs.opensuse.org/openh264/openSUSE_Tumbleweed
 9 | openSUSE:repo-oss          | repo-oss                                      | Ja      | (r ) Ja   | Ja      |   99     | http://cdn.opensuse.org/tumbleweed/repo/oss
12 | openSUSE:update-tumbleweed | update-tumbleweed                             | Ja      | (r ) Ja   | Ja      |   99     | http://cdn.opensuse.org/update/tumbleweed
14 | owncloud                   | owncloud                                      | Ja      | (r ) Ja   | Ja      |   99     | https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/openSUSE_Leap_15.5
15 | teamviewer                 | TeamViewer - x86_64                           | Ja      | (r ) Ja   | Ja      |   99     | https://linux.teamviewer.com/yum/stable/main/binary-x86_64/
16 | vscode                     | vscode                                        | Ja      | (r ) Ja   | Ja      |   99     | https://packages.microsoft.com/yumrepos/vscode
 1 | Mozilla                    | Mozilla                                       | Ja      | (r ) Ja   | Ja      |  102     | https://download.opensuse.org/repositories/mozilla/openSUSE_Tumbleweed/
 3 | Packman                    | Packman                                       | Ja      | (r ) Ja   | Ja      |  102     | https://ftp.halifax.rwth-aachen.de/packman/suse/openSUSE_Tumbleweed/
13 | openSUSE_Tumbleweed        | Geodaten                                      | Ja      | (r ) Ja   | Ja      |  102     | http://download.opensuse.org/repositories/Application:/Geo/openSUSE_Tumbleweed/
odysseus4:~ #

In general python3 works (3.13) but I have a specific dependency issue inside venv:

meshtui) thommie@odysseus4:~/python/meshtui> pip install meshtui
Collecting meshtui
  Using cached meshtui-0.2.9-py3-none-any.whl.metadata (20 kB)
Collecting aiohttp>=3.9.0 (from meshtui)
  Using cached aiohttp-3.13.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.1 kB)
Collecting dbus-python>=1.2.18 (from meshtui)
  Using cached dbus-python-1.4.0.tar.gz (232 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [102 lines of output]
      + meson setup /tmp/pip-install-s_whklsw/dbus-python_3901b2365f5e4db0946374e2396c11b9 /tmp/pip-install-s_whklsw/dbus-python_3901b2365f5e4db0946374e2396c11b9/.mesonpy-thpt6ao7 -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/tmp/pip-install-s_whklsw/dbus-python_3901b2365f5e4db0946374e2396c11b9/.mesonpy-thpt6ao7/meson-python-native-file.ini
      The Meson build system
      Version: 1.10.2
      Source dir: /tmp/pip-install-s_whklsw/dbus-python_3901b2365f5e4db0946374e2396c11b9
      Build dir: /tmp/pip-install-s_whklsw/dbus-python_3901b2365f5e4db0946374e2396c11b9/.mesonpy-thpt6ao7
      Build type: native build
      Project name: dbus-python
      Project version: 1.4.0
      C compiler for the host machine: cc (gcc 15.2.1 "cc (SUSE Linux) 15.2.1 20260202")
      C linker for the host machine: cc ld.bfd 2.45.0.20251103-2
      Host machine cpu family: x86_64
      Host machine cpu: x86_64
      Compiler for C supports arguments -fno-common: YES
      Compiler for C supports arguments -Wno-missing-field-initializers: YES
      Compiler for C supports arguments -Wno-declaration-after-statement: YES
      Compiler for C supports arguments -Wno-inline: YES
      Compiler for C supports arguments -Wno-redundant-decls: YES
      Compiler for C supports arguments -Wno-switch-default: YES
      Compiler for C supports arguments -Wno-write-strings: YES
      Compiler for C supports arguments -Wcast-align: YES
      Compiler for C supports arguments -Wdouble-promotion: YES
      Compiler for C supports arguments -Wduplicated-cond: YES
      Compiler for C supports arguments -Wfloat-equal: YES
      Compiler for C supports arguments -Wformat-nonliteral: YES
      Compiler for C supports arguments -Wformat-security: YES
      Compiler for C supports arguments -Wformat=2: YES
      Compiler for C supports arguments -Winit-self: YES
      Compiler for C supports arguments -Wlogical-op: YES
      Compiler for C supports arguments -Wmissing-declarations: YES
      Compiler for C supports arguments -Wmissing-format-attribute: YES
      Compiler for C supports arguments -Wmissing-include-dirs: YES
      Compiler for C supports arguments -Wmissing-noreturn: YES
      Compiler for C supports arguments -Wnull-dereference: YES
      Compiler for C supports arguments -Wpacked: YES
      Compiler for C supports arguments -Wpointer-arith: YES
      Compiler for C supports arguments -Wshadow: YES
      Compiler for C supports arguments -Wswitch-enum: YES
      Compiler for C supports arguments -Wundef: YES
      Compiler for C supports arguments -Wunused-but-set-variable: YES
      Compiler for C supports arguments -Wjump-misses-init: YES
      Compiler for C supports arguments -Wmissing-prototypes: YES
      Compiler for C supports arguments -Wnested-externs: YES
      Compiler for C supports arguments -Wold-style-definition: YES
      Compiler for C supports arguments -Wpointer-sign: YES
      Compiler for C supports arguments -Wstrict-prototypes: YES
      Configuring _dbus-python-config.h using configuration
      
      Executing subproject dbus-gmain
      
      dbus-gmain| Project name: dbus-gmain
      dbus-gmain| Project version: undefined
      dbus-gmain| C compiler for the host machine: cc (gcc 15.2.1 "cc (SUSE Linux) 15.2.1 20260202")
      dbus-gmain| C linker for the host machine: cc ld.bfd 2.45.0.20251103-2
      dbus-gmain| Compiler for C supports arguments -fno-common: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wno-missing-field-initializers: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wcast-align: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wdouble-promotion: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wduplicated-branches: YES
      dbus-gmain| Compiler for C supports arguments -Wduplicated-cond: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wfloat-equal: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wformat-nonliteral: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wformat-security: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wformat=2: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Winit-self: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wlogical-op: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wmissing-declarations: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wmissing-format-attribute: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wmissing-include-dirs: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wmissing-noreturn: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wnull-dereference: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wpacked: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wpointer-arith: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wredundant-decls: YES
      dbus-gmain| Compiler for C supports arguments -Wshadow: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wswitch-default: YES
      dbus-gmain| Compiler for C supports arguments -Wswitch-enum: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wundef: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wunused-but-set-variable: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wwrite-strings: YES
      dbus-gmain| Compiler for C supports arguments -Wdeclaration-after-statement: YES
      dbus-gmain| Compiler for C supports arguments -Wjump-misses-init: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wmissing-prototypes: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wnested-externs: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wold-style-definition: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wpointer-sign: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wstrict-prototypes: YES (cached)
      dbus-gmain| Found pkg-config: YES (/usr/bin/pkg-config) 2.5.1
      dbus-gmain| Run-time dependency dbus-1 found: YES 1.14.10
      dbus-gmain| Run-time dependency glib-2.0 found: YES 2.86.4
      dbus-gmain| Run-time dependency gthread-2.0 found: YES 2.86.4
      dbus-gmain| Program dbus-run-session found: YES (/usr/bin/dbus-run-session)
      dbus-gmain| Build targets in project: 1
      dbus-gmain| Subproject dbus-gmain finished.
      
      Program python found: YES (/home/thommie/python/meshtui/bin/python3)
      Dependency dbus-1 found: YES 1.14.10 (cached)
      Found pkg-config: YES (/usr/bin/pkg-config) 2.5.1
      Run-time dependency python found: NO (tried pkgconfig and sysconfig)
      
      ../meson.build:175:11: ERROR: Python dependency not found
      
      A full log can be found at /tmp/pip-install-s_whklsw/dbus-python_3901b2365f5e4db0946374e2396c11b9/.mesonpy-thpt6ao7/meson-logs/meson-log.txt
      [end of output]

I cant find this log file /tmp/pip-install-s_whklsw/dbus-python_3901b2365f5e4db0946374e2396c11b9/.mesonpy-thpt6ao7/meson-logs/meson-log.txt - not inside the venv and not on the system

dbus-devel and glib2-devel are already installed, that fixed previous compile errors. Nowe we have a missing python dependency, but where…

solved by installing glib2-devel. Now you see a ‘Run-time dependency python found: NO (tried pkgconfig and sysconfig)’ error. That looks really familiar, I wonder if maybe theres a python-devel package?

yep, glib2-devel solves the dbus compile error. Now I see this python dependency message, but there is no python-devel or python3-devel …
I am a bit lost :frowning_face:

python310-devel, python311-devel, python312-devel, python313-devel, python314-devel, python315-devel

~> LANG=C zypper se -s python31*-devel
Loading repository data...
Reading installed packages...

S  | Name                                    | Type    | Version       | Arch   | Repository
---+-----------------------------------------+---------+---------------+--------+-----------
   | python310-devel                         | package | 3.10.20-1.1   | x86_64 | repo-oss
   | python311-berkeleydb-devel              | package | 18.1.15-1.2   | x86_64 | repo-oss
   | python311-bsddb3-devel                  | package | 6.2.9-4.6     | x86_64 | repo-oss
   | python311-BTrees-devel                  | package | 6.3-1.2       | x86_64 | repo-oss
   | python311-dbus-python-devel             | package | 1.3.2-3.2     | x86_64 | repo-oss
   | python311-devel                         | package | 3.11.15-2.1   | x86_64 | repo-oss
   | python311-editdistance-devel            | package | 0.6.2-3.2     | x86_64 | repo-oss
   | python311-ewah-bool-utils-devel         | package | 1.1.0-1.9     | x86_64 | repo-oss
   | python311-gobject-devel                 | package | 3.56.1-2.1    | x86_64 | repo-oss
   | python311-greenlet-devel                | package | 3.3.2-1.1     | noarch | repo-oss
   | python311-igwn-ligolw-devel             | package | 2.1.0-1.2     | x86_64 | repo-oss
   | python311-Kivy-devel                    | package | 2.3.1-5.2     | x86_64 | repo-oss
   | python311-lxml-devel                    | package | 6.0.2-1.3     | x86_64 | repo-oss
   | python311-mcp-devel                     | package | 1.23.3-1.2    | noarch | repo-oss
   | python311-mpi4py-devel                  | package | 4.1.1-1.2     | x86_64 | repo-oss
   | python311-nanobind-devel                | package | 2.11.0-1.2    | noarch | repo-oss
   | python311-nautilus-devel                | package | 4.1.0-1.2     | x86_64 | repo-oss
   | python311-numba-devel                   | package | 0.64.0-1.2    | x86_64 | repo-oss
   | python311-numpy-devel                   | package | 2.4.3-1.1     | x86_64 | repo-oss
   | python311-numpy1-devel                  | package | 1.26.4-6.2    | x86_64 | repo-oss
   | python311-persistent-devel              | package | 6.5-1.1       | x86_64 | repo-oss
   | python311-pyarrow-devel                 | package | 21.0.0-1.2    | x86_64 | repo-oss
   | python311-pybind11-devel                | package | 3.0.2-1.1     | noarch | repo-oss
   | python311-pycairo-devel                 | package | 1.29.0-1.2    | x86_64 | repo-oss
   | python311-pycxx-devel                   | package | 7.1.8-2.2     | noarch | repo-oss
   | python311-pygame-devel                  | package | 2.6.1-2.2     | x86_64 | repo-oss
   | python311-PyQt6-3D-devel                | package | 6.10.0-1.4    | x86_64 | repo-oss
   | python311-PyQt6-Charts-devel            | package | 6.10.0-1.4    | x86_64 | repo-oss
   | python311-PyQt6-DataVisualization-devel | package | 6.10.0-1.2    | x86_64 | repo-oss
   | python311-PyQt6-devel                   | package | 6.10.0-1.4    | x86_64 | repo-oss
   | python311-PyQt6-Graphs-devel            | package | 6.10.0-1.2    | x86_64 | repo-oss
   | python311-PyQt6-NetworkAuth-devel       | package | 6.10.0-1.2    | x86_64 | repo-oss
   | python311-PyQt6-qt6pdf-devel            | package | 6.10.0-1.2    | x86_64 | repo-oss
   | python311-PyQt6-WebEngine-devel         | package | 6.10.0-1.2    | x86_64 | repo-oss
   | python311-pyzmq-devel                   | package | 27.1.0-2.2    | x86_64 | repo-oss
   | python311-qt3d-qt5-devel                | package | 5.15.6-3.3    | x86_64 | repo-oss
   | python311-qt5-devel                     | package | 5.15.10-4.3   | x86_64 | repo-oss
   | python311-qt5-quick3d-devel             | package | 5.15.10-4.2   | x86_64 | repo-oss
   | python311-qt5-remoteobjects-devel       | package | 5.15.10-4.2   | x86_64 | repo-oss
   | python311-qtdatavis3d-qt5-devel         | package | 5.15.5-3.2    | x86_64 | repo-oss
   | python311-qtnetworkauth-qt5-devel       | package | 5.15.5-3.2    | x86_64 | repo-oss
   | python311-qtwebengine-qt5-devel         | package | 5.15.6-6.2    | x86_64 | repo-oss
   | python311-sip-devel                     | package | 6.14.0-7.10   | noarch | repo-oss
   | python311-sip4-devel                    | package | 4.19.25-8.2   | x86_64 | repo-oss
   | python311-sip6-devel                    | package | 6.14.0-1.2    | noarch | repo-oss
   | python311-torch-devel                   | package | 2.7.1-2.9     | x86_64 | repo-oss
   | python311-torch-openmpi4-devel          | package | 2.7.1-2.9     | x86_64 | repo-oss
   | python311-zope.proxy-devel              | package | 7.1-1.2       | x86_64 | repo-oss
   | python312-devel                         | package | 3.12.13-2.1   | x86_64 | repo-oss
   | python313-berkeleydb-devel              | package | 18.1.15-1.2   | x86_64 | repo-oss
   | python313-bsddb3-devel                  | package | 6.2.9-4.6     | x86_64 | repo-oss
   | python313-BTrees-devel                  | package | 6.3-1.2       | x86_64 | repo-oss
   | python313-dbus-python-devel             | package | 1.3.2-3.2     | x86_64 | repo-oss
   | python313-devel                         | package | 3.13.12-1.3   | x86_64 | repo-oss
   | python313-editdistance-devel            | package | 0.6.2-3.2     | x86_64 | repo-oss
   | python313-ewah-bool-utils-devel         | package | 1.1.0-1.9     | x86_64 | repo-oss
   | python313-gobject-devel                 | package | 3.56.1-2.1    | x86_64 | repo-oss
   | python313-greenlet-devel                | package | 3.3.2-1.1     | noarch | repo-oss
   | python313-igwn-ligolw-devel             | package | 2.1.0-1.2     | x86_64 | repo-oss
   | python313-Kivy-devel                    | package | 2.3.1-5.2     | x86_64 | repo-oss
   | python313-lxml-devel                    | package | 6.0.2-1.3     | x86_64 | repo-oss
   | python313-mcp-devel                     | package | 1.23.3-1.2    | noarch | repo-oss
   | python313-mpi4py-devel                  | package | 4.1.1-1.2     | x86_64 | repo-oss
   | python313-nanobind-devel                | package | 2.11.0-1.2    | noarch | repo-oss
   | python313-nautilus-devel                | package | 4.1.0-1.2     | x86_64 | repo-oss
   | python313-nogil-devel                   | package | 3.13.12-1.2   | x86_64 | repo-oss
   | python313-numba-devel                   | package | 0.64.0-1.2    | x86_64 | repo-oss
   | python313-numpy-devel                   | package | 2.4.3-1.1     | x86_64 | repo-oss
   | python313-numpy1-devel                  | package | 1.26.4-6.2    | x86_64 | repo-oss
   | python313-persistent-devel              | package | 6.5-1.1       | x86_64 | repo-oss
   | python313-pyarrow-devel                 | package | 21.0.0-1.2    | x86_64 | repo-oss
   | python313-pybind11-devel                | package | 3.0.2-1.1     | noarch | repo-oss
   | python313-pycairo-devel                 | package | 1.29.0-1.2    | x86_64 | repo-oss
   | python313-pycxx-devel                   | package | 7.1.8-2.2     | noarch | repo-oss
   | python313-pygame-devel                  | package | 2.6.1-2.2     | x86_64 | repo-oss
   | python313-PyMuPDF-devel                 | package | 1.26.5-1.3    | x86_64 | repo-oss
   | python313-PyQt6-3D-devel                | package | 6.10.0-1.4    | x86_64 | repo-oss
   | python313-PyQt6-Charts-devel            | package | 6.10.0-1.4    | x86_64 | repo-oss
   | python313-PyQt6-DataVisualization-devel | package | 6.10.0-1.2    | x86_64 | repo-oss
   | python313-PyQt6-devel                   | package | 6.10.0-1.4    | x86_64 | repo-oss
   | python313-PyQt6-Graphs-devel            | package | 6.10.0-1.2    | x86_64 | repo-oss
   | python313-PyQt6-NetworkAuth-devel       | package | 6.10.0-1.2    | x86_64 | repo-oss
   | python313-PyQt6-qt6pdf-devel            | package | 6.10.0-1.2    | x86_64 | repo-oss
   | python313-PyQt6-WebEngine-devel         | package | 6.10.0-1.2    | x86_64 | repo-oss
   | python313-pyside6-devel                 | package | 6.10.2-1.2    | x86_64 | repo-oss
   | python313-pyzmq-devel                   | package | 27.1.0-2.2    | x86_64 | repo-oss
   | python313-qt3d-qt5-devel                | package | 5.15.6-3.3    | x86_64 | repo-oss
   | python313-qt5-devel                     | package | 5.15.10-4.3   | x86_64 | repo-oss
   | python313-qt5-quick3d-devel             | package | 5.15.10-4.2   | x86_64 | repo-oss
   | python313-qt5-remoteobjects-devel       | package | 5.15.10-4.2   | x86_64 | repo-oss
   | python313-qtdatavis3d-qt5-devel         | package | 5.15.5-3.2    | x86_64 | repo-oss
   | python313-qtnetworkauth-qt5-devel       | package | 5.15.5-3.2    | x86_64 | repo-oss
   | python313-qtwebengine-qt5-devel         | package | 5.15.6-6.2    | x86_64 | repo-oss
   | python313-shiboken6-devel               | package | 6.10.2-1.2    | x86_64 | repo-oss
   | python313-sip-devel                     | package | 6.14.0-7.10   | noarch | repo-oss
   | python313-sip4-devel                    | package | 4.19.25-8.2   | x86_64 | repo-oss
   | python313-sip6-devel                    | package | 6.14.0-1.2    | noarch | repo-oss
   | python313-torch-devel                   | package | 2.7.1-2.9     | x86_64 | repo-oss
   | python313-torch-openmpi4-devel          | package | 2.7.1-2.9     | x86_64 | repo-oss
   | python313-zope.proxy-devel              | package | 7.1-1.2       | x86_64 | repo-oss
   | python314-devel                         | package | 3.14.3-2.1    | x86_64 | repo-oss
   | python314-nogil-devel                   | package | 3.14.3-2.1    | x86_64 | repo-oss
   | python315-devel                         | package | 3.15.0~a7-1.1 | x86_64 | repo-oss
   | python315-nogil-devel                   | package | 3.15.0~a7-1.1 | x86_64 | repo-oss

FYI, anaconda is a dedicated python manager system. It is easily installed as a user. It sets itself up to intercept python calls so system python modules are not used. It is supposed to be most current and complete python.
Download from: (https://www.anaconda.com/download). Anaconda itself is very large. There are reduced size versions that can also be downloaded. I use miniforge3. Environments are easily set up.

tom kosvic

Anaconda is certainly an option - but for most, venv is sufficient. :slight_smile:

I have no idea about openSUSE but in general I would always use uv to manage python and venv. (and yes it can create venv with non-uv managed python version — like the openSUSE system version)