Python / Debian 12: "pipx --editable" ignoriert scheinbar python3-* Pakete

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
buhtz
Beiträge: 1106
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Python / Debian 12: "pipx --editable" ignoriert scheinbar python3-* Pakete

Beitrag von buhtz » 15.09.2023 15:17:06

X-Post auf python-list@python.org

Ich bin neu mit Debian 12 und stolpere gerade über das "externally-managed-environment" Problem und PEP668. Warum das so ist und was ich tun muss, habe ich verstanden. Aber in meiner speziellen(?) Situation stolpere ich bereits.

Während der Entwicklung installiere ich meine eigenen Pakete im editable-mode. Früher via pip install --editable .[develop] und heute eben mit pipx. Bei meinem hyperorg-repo geht das auch; erstmal.

Nun habe ich in der pyproject.toml wohl eine Dependencie übersehen: dateutil. OK, ein Issue an mich selbst geschrieben und auf die Schnelle erstmal mit per sudo apt python3-dateutil nachinstalliert und per python3 -c "import dateutil" überprüft. Ist da.

Mein Hyperorg zeigt trotzdein ImportError an. OK, nochmal pipx uninstall hyperorg und nochmal installiert, wie eben beschrieben. Problem bleibt.

Der Kern meiner Frage hier ist: Warum das so ist? So wie ich die Absicht hinter PEP668 verstehe, würde ich erwarten, dass die "Isolation" nur in eine Richtung funktioniert und Systempakete wie Debianpython3-dateutil sichtbar sind. Sind sie aber nicht.

Das "dateutil" als Dependencie in "pyproject.toml" aufzunehmen bringt nichts, weil es auf PyPi scheinbar keine dateutil-version für Python 3.11 gibt. OK, dann hab ich die Dependencie wieder rausgenommen und mein "hyperorg" eben mit pip install -e .[develop] --break-system-packages installiert. Geht, ist aber nicht im Sinne des Erfinders.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

Antworten