pipx
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 24.04 Noble Numbat
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 🇬🇧 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.
Links¶
Projektseite 🇬🇧
Dokumentation 🇬🇧 von pipx
detaillierte Erklärung 🇬🇧, wie
pipx
funktioniert