ubuntuusers.de

pipx

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

pipx_logo.webp pipx 🇬🇧 ist ein Hilfsprogramm zur Installation von Python-Module, die ausführbare Programme enthalten. pipx macht dabei nichts, was nicht auch auf anderem Wege möglich wäre, vereinfacht und automatisiert dabei aber die notwendigen Schritte auf einen einzigen Befehl. pipx installiert das Programm standardmäßig jeweils in einem Virtual Environment für den ausführenden Nutzer. Eine Demo führt in die Arbeit mit pipx ein.

Installation

aus den Paketquellen

pipx ist in den Paketquellen enthalten, allerdings nicht unbedingt in der aktuellen, stabilen Version. Von daher wird die Installation über pip empfohlen.

Wenn die Installation trotzdem über die Paketquellen erfolgen soll[1]:

  • pipx (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install pipx 

Oder mit apturl installieren, Link: apt://pipx

Danach muss man noch sicherstellen, dass die Suchpfade des Systems pipx bzw. den Ordner ~/.local/bin/, in dem die ausführbaren Skripte als symbolische Links abgelegt werden, auch finden. Dazu führt man folgenden Befehl aus[2]:

python3 -m pipx ensurepath 

und loggt sich anschließend aus und wieder ein. Jetzt ist pipx einsatzbereit.

via pip

Die aktuelle, stabile Version kann via pip installiert werden. Das ab Ubuntu 23.04 standardmäßig die Installation von Python-Module in einem venv forciert wird, pipx aber seinerseits pro installiertem Programm ein venv anlegt, ist dies in diesem Fall nicht sinnvoll. Deshalb muss man pip mit den entsprechenden Optionen aufrufen, um pipx für den ausführenden Benutzer ohne ein venv zu installieren:

pip3 install --user --break-system-packages pipx 

Danach muss man noch sicherstellen, dass die Suchpfade des Systems pipx auch finden. Dazu führt man folgenden Befehl aus[2]:

python3 -m pipx ensurepath 

und loggt sich anschließend aus und wieder ein. Jetzt ist pipx einsatzbereit.

Benutzung

Die allgemeine Syntax zum Aufruf von pipx lautet:

pipx BEFEHL PYTHONMODUL 

pipx kennt dabei eine Reihe von Befehlen.

Beispiel: Mit z.B.

pipx install howdoi 

würde das Programm howdoi installiert und wäre im Terminal direkt über howdoi ... ausführbar.

Was dabei passiert bzw. von pipx erledigt wird:

  • Es wird ein neues Virtual Environment für das Modul im Homeverzeichnis des Nutzer angelegt, und zwar unterhalb von home/NUTZERNAME/.local/share/pipx/venvs. Das Virtual Environment trägt standardmäßig den Namen des Moduls, hier also howdoi.

  • Das Programm wird in das Virtual Environment installiert.

  • Es wird eine Verknüpfung in /home/NUTZERNAME/.local/bin auf die ausführbare Datei innerhalb des Virtual Environments angelegt. Im Beispiel hier also von /home/NUTZERNAME/.local/bin/howdoi auf home/NUTZERNAME/.local/share/pipx/venvs/howdoi/bin/howdoi

howdoi ist dann im Terminal über die Eingabe von howdoi aufrufbar. Es ist keine Aktivierung des Virtual Environments notwendig.

Befehle

pipx jetzt kennt eine ganze Reihe von Befehlen. Einige davon sind:

Befehl von pipx
Befehl Erklärung
install PYTHONMODUL Legt ein neues Virtual Environment an und installiert darin PYTHONMODUL. Das in PYTHONMODUL enthaltene Programm ist danach direkt im Terminal aufrufbar.
uninstall PYTHONMODUL Entfernt das Modul PYTHONMODUL und löscht das zugehörige Virtual Environment.
inject VENV MODULNAME Installiert das Modul PYTHONMODUL in das vorhandene Virtal Environment VENV, d.h. es wird für PYTHONMODUL kein neues Virtual Environment angelegt.
uninject VENV PYTHONMODUL Entfertn das Modul PYTHONMODUL aus das vorhandene Virtal Environment VENV.
upgrade PYTHONMODUL Aktualisiert das installierte Modul PYTHONMODUL.
upgrade-all Aktualisiert alle installierten Module.
list Listet alle via pipx installierten Module auf.

Eine vollständige Übersicht über alle Befehle sowie Optionen findet man in der Dokumentation 🇬🇧 oder im Terminal [2] über den Aufruf von pipx -h.

pipx run

pipx unterstützt auch das Testen von Modulen, ohne diese direkt zu installieren. Der Befehl

pipx run PYTHONMODUL [ARGUMENTE] 

würde das Modul PYTHONMODUL in eine temporäres Virtual Environment installieren und das darin enthalten ausführbare Programm starten und, falls angegeben, die ARGUMENTE mit übergeben.

Beispiel:

pipx run pycowsay Hallo Ubuntuusers! 

Heißt das aufrufbare Programm nicht wie das Python-Modul selber, dann lautet des Aufruf:

pipx run --spec PYTHONMODUL_ABHÄNGIGKEITS_BEZEICHNUNG NAME_DES_PROGRAMMS [ARGUMENTE] 

Ein Beispiel wäre das Modul httpie: das darin enthalten ausführbare Programm heißt nur http:

pipx run --spec httpie http www.httpbin.org 

Die mit pipx run angelegten, temporären venvs werden standardmäßig 14 Tage behalten, d.h. wenn man pipx run mehrmals für ein Python-Modul aufruft, erfolgt der Download nur ein Mal, sofern man noch innerhalb der 14 Tage seit dem ersten Aufruf ist.

Der Speicherpfad für die temporären venvs von pipx ist /home/NUTZERNAME/.cache/pipx.

Deinstallation

Hat man pipx via pip installiert, lautet der Befehl zu Deinstallation

pip3 uninstall --break-system-packages pipx 

Egal, ob Installation via pip oder aus den Paketquellen sollte man nach der Deinstallation von pipx eventuell noch vorhandene venvs manuell löschen, d.h. home/NUTZERNAME/.local/share/pipx/venvs inkl. Unterverzeichnissen und /home/NUTZERNAME/.cache/pipx inkl. Unterverzeichnissen.

Diese Revision wurde am 31. Mai 2024 14:57 von karzer erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Paketverwaltung, Python