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.
+----------+--------------------------------------------------------------------------------------
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
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.
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)