ubuntuusers.de

python3.11 und Paket gi

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

jms3000

Avatar von jms3000

Anmeldungsdatum:
29. Januar 2015

Beiträge: 867

Wohnort: Schwetzingen

python3.11 -c 'from gi.repository import GLib' funktioniert bei mir nicht. python3.10 -c 'from gi.repository import GLib' geht. Das liegt irgendwie an dem Paket python3-gi. Passt das nicht zu python3.11 ?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

hast du das Paket auch für 3.11 installiert? Jede Python-Installation hat eigene Pakete, die sind nie global für alle Pythoninstallationen.

Gruß, noisefloor

jms3000

(Themenstarter)
Avatar von jms3000

Anmeldungsdatum:
29. Januar 2015

Beiträge: 867

Wohnort: Schwetzingen

noisefloor schrieb:

hast du das Paket auch für 3.11 installiert? Jede Python-Installation hat eigene Pakete, die sind nie global für alle Pythoninstallationen.

Wie heißt denn das python3-gi für python 3.11 ?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

normalerweise genau so.

Wie installierst du denn? Aus den Paketquellen von Ubuntu bekommst du i.d.R. nur Paket für die Pythonversion, die die entsprechende Ubuntuversion mitbringt. Wenn du ein anderes Python manuell installiert hast, dann geht die Installation i.d.R. via pip für die Python-Version, idealerweise direkt in einem venv.

pip in einem venv ist sowieso immer 1. Wahl, auch für das Systempython. Wenn du nicht zwingend Pakete systemweit brauchst.

Gruß, noisefloor

jms3000

(Themenstarter)
Avatar von jms3000

Anmeldungsdatum:
29. Januar 2015

Beiträge: 867

Wohnort: Schwetzingen

noisefloor schrieb:

Wie installierst du denn? Aus den Paketquellen von Ubuntu bekommst du i.d.R. nur Paket für die Pythonversion, die die entsprechende Ubuntuversion mitbringt. Wenn du ein anderes Python manuell installiert hast, dann geht die Installation i.d.R. via pip für die Python-Version, idealerweise direkt in einem venv.

pip in einem venv ist sowieso immer 1. Wahl, auch für das Systempython. Wenn du nicht zwingend Pakete systemweit brauchst.

D.h. für Ubuntu 23.04 gibt es auch ein python3-gi, aber das ist dann für python3.11?

Ich bin unter Ubuntu 22.04 wegen Home Assistant auf Python3.11 gegangen. Und dann sind auf einmal viele Python-Systemprogramme abgebrochen, weil die das gi verwenden. Z.b. "/usr/lib/update-notifier/list-oem-metapackages".

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

du solltest NIE NIE NIE die Pythonversion austauschen, die das System / die Distribution mitbringen. Bei den meisten Distros inkl. Ubuntu wird Python und div. Module für Grundinstallation benötigt. Die Module sind auf die Python-Version der Grundinstallation abgestimmt. Und, wie gesagt, man muss so oder so, für jede Pythonversion die Module separate Installieren, weil Pythonmodule in der Regel für eine Pythonversion gebaut werden.

Wenn man die Pythonversion der Grundinstallation austauscht erhält man im besten Fall ein schlecht funktionierendes System, im schlechtesten Fall ein nicht funktionierendes System.

Grundsätzlich kann man aber mehrere Pythonversionen parallel installieren, siehe Python/manuelle Installation. Oder man nutzt pyenv 🇬🇧. Mit letzterem habe ich selber aber keine Erfahrung.

Gruß, noisefloor

jms3000

(Themenstarter)
Avatar von jms3000

Anmeldungsdatum:
29. Januar 2015

Beiträge: 867

Wohnort: Schwetzingen

Ich hab ja die 3.10 nicht entfernt. Ich hatte zuerst Home Assistant auf 3.11 umgestellt, weil der das so braucht. Irgendwann später war auf einmal 3.11 der Standard, weiß gar nicht mehr wo ich da rumgespielt habe ☺

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

und genau das, also was das Default-Python ist, solltest du für deine 22.04 Installation rückgäng machen, dass es wieder 3.10 ist. Sonst wirst du ziemlich sicher noch mehr Probleme bekommen.

Gruß, noisefloor

Antworten |