Website-Suche

Warum Sie Python-Apps mit pipx installieren sollten (und wie Sie anfangen können)


Wichtige Erkenntnisse

  • Die Installation von Python-Anwendungen kann aufgrund möglicher Konflikte mit Systempaketen herausfordernd sein, aber pipx macht es Ihnen leicht, indem es virtuelle Umgebungen erstellt und die Abhängigkeiten für Sie verwaltet.
  • Pipx ist eine benutzerfreundliche Alternative zu pip, die Apps systemweit installiert, ohne dass sudo-Rechte erforderlich sind, und es hilft Ihnen, Python-Apps mühelos hinzuzufügen, zu aktualisieren oder zu entfernen.
  • Mit pipx können Sie Python-CLI-Apps installieren, sie wie Standard-Linux-Befehle ausführen und sogar einfach deinstallieren. Es ist ein praktisches Werkzeug zur Verwaltung und Erweiterung Ihrer App-Bibliothek.

Es gibt eine Menge nützlicher Python-CLI-Apps da draußen, aber die Installation ist nicht immer so einfach, wie es scheint. Lassen Sie uns einen Blick darauf werfen, wie pipx es einfach machen kann, sie zu installieren und zu verwalten.

Warum Python-Anwendungen kompliziert sind

Die Installation von Python-Anwendungen kann ziemlich schnell kompliziert werden. Python ist eine vielseitige Sprache und oft die erste, die Menschen lernen. Wenn man GitHub oder PyPI – das Python Package Index – durchsucht, findet man eine Menge nützlicher Anwendungen neben Programmierbibliotheken. Da es so allgegenwärtig geworden ist, gibt es viele Menschen, die Code beitragen, zusammen mit einer Mischung aus Anleitungen zur Installation.

Die meisten Installationsanleitungen empfehlen die Installation über pip, den Paketmanager für Python. Vergleichbar mit apt und yum für Linux nutzt er PyPI als Repository und ermöglicht es Ihnen, Bibliotheken für Ihren Code sowie vollständige Anwendungen, die in Python geschrieben sind, zu installieren. Allerdings kann die Installation von Software über die auf Ihrem System vorhandene pip-Instanz zu Konflikten mit den bereits von Ihrem regulären Paketmanager verwalteten Paketen führen. Die meisten Linux-Distributionen verwenden heutzutage Python und abhängige Pakete, um Betriebssystemfunktionen auszuführen, und andere Kernsoftware hängt oft von spezifischen Versionen bestimmter Bibliotheken ab.

Ich rate dringend davon ab, Software auf Systemebene mit sudo pip install zu installieren, da dies zu Konflikten mit dem Paketmanager Ihres Systems führen und die Funktionalität beeinträchtigen kann. Im schlimmsten Fall kann es sogar zu einem nicht bootenden System kommen. Ich bin damit nicht allein, da RealPython und die Dokumentation zu virtualenv dies ebenfalls empfehlen und sogar die offiziellen Python-Dokumente auf dieses Problem hinweisen.

Eine andere Möglichkeit besteht darin, auf Benutzerebene mit pip install --user zu installieren, aber nicht jedes Paket funktioniert auf diese Weise einwandfrei. Abhängigkeiten werden weiterhin systemweit für diesen Benutzer installiert, was ebenfalls Probleme verursachen kann.

Die Python-Community empfiehlt die Verwendung von etwas, das als virtuelle Umgebung bekannt ist – oft als venvs bezeichnet – um isolierte Ordner zu erstellen, die alle erforderlichen Teile eines Projekts enthalten, damit es funktioniert. Die Verwendung dieser Umgebungen kann jedoch sehr frustrierend sein, wenn man mit dem Prozess nicht vertraut ist, insbesondere wenn man versucht, Dinge zu skripten. Dies sind nur einige der Herausforderungen, mit denen Benutzer konfrontiert sein könnten, wenn sie versuchen, Python-Anwendungen auf ihrem System zum Laufen zu bringen.

pipx zur Rettung

Um unsere Probleme zu lösen, können wir eine Anwendung namens pipx verwenden. Dies ist eine benutzerfreundliche Alternative zu pip, die sich an Endbenutzer anstatt an Programmierer richtet. Es erstellt die virtuellen Umgebungen für Sie, installiert die Abhängigkeiten und macht die Programme systemweit verfügbar – alles, ohne dass Sie auf Ihrem System Sudo-Rechte benötigen. Es verwaltet auch Ihre installierten Python-Anwendungen für Sie, sodass Sie sie ganz nach Wunsch hinzufügen, aktualisieren oder entfernen können.

Da pipx nicht für Programmierer gedacht ist, unterstützt es einige der wichtigen Funktionen, die Sie beim Entwickeln wünschen würden, wie das Installieren von editierbaren Paketen zum Testen. Dies ist ausschließlich für Benutzer!

Um pipx zu installieren, ist der einfachste Weg, den Paketmanager Ihres Systems zu verwenden. Zuerst sollten wir sicherstellen, dass die erforderlichen Pakete installiert sind. Wenn Sie eine auf Debian basierende Distribution wie Ubuntu verwenden, können Sie apt verwenden.

sudo apt update && sudo apt install python3-venv python3-pip

Dies installiert die grundlegenden Pakete für virtuelle Umgebungen und den Paketmanager pip. Viele Linux-Distributionen haben diese vorinstalliert, aber nicht alle. Entscheidend ist, dass Versionen von Debian und Ubuntu nicht garantieren, dass diese Pakete vorinstalliert sind. Wenn Sie auf diesen Distributionen sind, sollten Sie die obigen Befehle ausführen. Wenn Sie auf einer anderen Distribution sind, verwenden Sie Ihren entsprechenden Paketmanager, sei es yum, pacman oder sogar brew.

Als nächstes können wir das pipx-Paket selbst installieren.

sudo apt install pipx

Zuletzt wollen wir sicherstellen, dass pipx in unseren Pfad integriert ist, damit installierte Apps auf die gleiche Weise wie alle anderen gestartet werden. Wir müssen einfach diesen pipx-Befehl ausführen:

pipx ensurepath

Bitte beachten Sie, dass es für diesen Befehl kein sudo gibt! Alles wird im Benutzermodus funktionieren, was genau das ist, was wir wollen, um nicht mit der Python-Installation unseres Betriebssystems durcheinander zu kommen.

In einigen Distributionen, wie Ubuntu, erhalten Sie möglicherweise eine Nachricht, die Ihnen mitteilt, dass Sie sich erneut anmelden müssen, damit die Pfadänderung wirksam wird. Bei Rhino Linux hat alles sofort funktioniert, aber bei Ubuntu musste ich mich abmelden und dann wieder anmelden.

Und das war's, pipx ist bereit zur Verwendung! Lassen Sie uns ansehen, wie man es mit einigen Python-Anwendungen verwendet.

Installation von Python-CLI-Anwendungen

Lass uns eine lustige App namens cowsay mit pipx installieren.

pipx install cowsay

Sie können die Python-App genau wie ein standardmäßiges Linux-Kommando oder eine installierte App verwenden. Unter der Haube läuft sie in ihrer eigenen virtuellen Umgebung, und alle Abhängigkeiten sind getrennt und bleiben von unserem Kernbetriebssystem fern.

Wenn Sie eine Anwendung nur einmal ausführen müssen und sich nicht um die Installation und Deinstallation kümmern möchten, bietet pipx einen Ausführungsmodus, der sich darum kümmert.

pipx run speedtest-cli

Sie können der App auch Argumente übergeben, damit Sie spezifische Befehle ausführen können. Es gibt einige Einschränkungen bei der Formatierung, also achten Sie darauf, die offizielle pipx-Dokumentation zu überprüfen.

Sie können pipx verwenden, um zu sehen, welche installierten Python-Anwendungen Sie installiert haben.

pipx list

Sie können sehen, dass speedtest-cli nicht installiert ist, aber cowsay immer noch auf unserem System vorhanden ist.

Sie können die cowsay-App auch einfach deinstallieren.

pipx uninstall cowsay

Wo pipx wirklich hilft, ist bei der Verwaltung komplexerer Anwendungen. Zum Beispiel können Sie einfach einfache Bash-Skripte schreiben, um die calibre-web-App zu starten und zu verwalten, um Ihre eigene E-Book-Bibliothek zu hosten, da Sie sie wie einen weiteren Befehl behandeln können. Ohne pipx wären die Dienstdateien, die Sie schreiben müssten, viel kniffliger für jemanden, der Python und seine Bereitstellungsmethoden nicht kennt.

Erweitern Sie Ihre App-Bibliothek mit pipx

Jetzt, da Sie pipx installiert haben, stehen Ihnen zahlreiche neue Programme zur Verfügung! Wenn Sie Projekte auf GitHub oder PyPI finden, die Sie nutzen möchten, kann pipx es einfach machen, sie in nur ein oder zwei Minuten zu installieren und zu verwenden.