Wenn Sie kürzlich bei der Installation von Pip-Paketen unter Linux auf den Fehler „extern verwaltete Umgebung“ gestoßen sind, erfahren Sie hier, wie Sie ihn beheben können.
Wenn Sie häufig mit Python arbeiten und kürzlich auf Ubuntu 23.04 oder Fedora Version 38 umgestiegen sind, sind die Chancen gut Beim Installieren von Paketen mit dem Python-Paketmanager ist der Fehler „extern verwaltete Umgebung“ aufgetreten. Pip.
Das könnte frustrierend und ziemlich überraschend sein, da dieser Fehler in den älteren Versionen von Ubuntu, Fedora und anderen Distributionen nie auftauchen würde. Erfahren Sie, was genau diesen Fehler verursacht und wie Sie ihn schnell beheben können.
Warum der Fehler „Extern verwaltete Umgebung“ auftritt
Die neuesten Versionen aller Linux-Distributionen übernehmen die in PEP-668 definierten Standards. Diese Änderungen stellen sicher, dass Pip-Pakete standardmäßig nicht in einem globalen Kontext installiert werden.
Dies wurde implementiert, um Konflikte zwischen dem Paketmanager der Distribution und den Python-Paketverwaltungstools zu vermeiden. Die Einzelheiten erfahren Sie im
offizielle PEP-668-Dokumentation. Wenn Sie diesen Mechanismus rückgängig machen oder außer Kraft setzen möchten, haben Sie drei Möglichkeiten.1. Löschen Sie die Datei „EXTERN VERWALTET“.
Dies ist die einfachste Lösung für den Pip-Fehler „extern verwaltet“. Alles, was Sie tun müssen, ist zu navigieren /usr/lib/python3.xx und löschen Sie die Extern verwaltet Datei im Verzeichnis. Hier sind die Befehle dazu:
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
Das ist alles, was Sie tun müssen, um den Fehler zu beheben. Wenn Sie diesen Mechanismus wiederherstellen möchten, erstellen Sie dieselbe Datei erneut mit den Touch-Befehl:
sudo touch EXTERNALLY-MANAGED
Jetzt sollten Sie in der Lage sein, Pakete nahtlos mit pip oder pip3 zu installieren.
2. Verwenden Sie virtuelle Umgebungen, um Pip-Pakete zu installieren
Ein anderer Ansatz, den Sie wählen können, ist die Verwendung virtuelle Umgebungen für Ihr Python-Projekt. Virtuelle Umgebungen sind eine großartige Möglichkeit, programmspezifische Pakete vom Betriebssystem zu isolieren und ermöglichen Ihnen außerdem, Ihr Projekt übersichtlich zu organisieren.
So erstellen Sie eine virtuelle Umgebung und installieren Pakete mit pip:
- Erstellen Sie zunächst die virtuelle Umgebung mit:
python3 -m venv venv
- Geben Sie die Aktivierungsdatei mithilfe des Quellbefehls in das bin-Verzeichnis ein:
source venv/bin/activate
Ihre Shell-Eingabeaufforderung sollte mit dem Namen der virtuellen Umgebung aktualisiert werden. Jetzt können Sie beliebige Python-Pakete installieren.
Wie Sie sehen können, ist die openai Das Python-Paket konnte zunächst nicht installiert werden, aber nach dem Erstellen und Wechseln zu einer virtuellen Umgebung wird es einwandfrei installiert.
3. Verwenden Sie pipx, um Python-Pakete zu installieren
pipx ist ein Dienstprogramm zum Installieren von Python-Paketen in virtuellen und isolierten Umgebungen. Es automatisiert Schritte wie das Erstellen virtueller Umgebungen für jedes Paket und das Erstellen symbolischer Links zu den Paketen im .local/bin Ordner, sodass Sie jedes Paket jederzeit von der Shell aus aufrufen können.
Durch die Verwendung von pipx zum Installieren von Paketen können Sie den Fehler „extern verwaltete Umgebung“ vermeiden, da Pakete in virtuellen Umgebungen installiert werden. Um pipx zu verwenden, installieren Sie es zunächst mit dem Standardpaketmanager Ihrer Distribution.
Auf Ubuntu/Debian-Derivaten:
sudo apt-get install pipx
Auf Arch-basierten Systemen:
sudo pacman -S pipx
Auf Fedora/CentOS/RHEL:
sudo dnf install pipx
Sobald Sie pipx installiert haben, verwenden Sie es genauso, wie Sie pip zum Installieren von Paketen verwenden würden. Hier ist ein Beispielbefehl:
pipx install openai
Um mehr über pipx zu erfahren, können Sie mit dem Befehl man auf die Manpage von pipx zugreifen.
Jetzt wissen Sie, wie Sie den „extern verwalteten“ Fehler beheben können
Nachdem Sie den Fehler „extern verwaltete Umgebung“ behoben haben, sollten Sie in der Lage sein, weiter an Ihrem Projekt zu arbeiten oder allgemeine Python-Programmierung zu üben. Wenn Sie sich auf Letzteres konzentrieren, möchten Sie vielleicht die verschiedenen spielerischen Lernmethoden ausprobieren Programmieren, mit dem Sie Python oder eine andere Sprache viel schneller, praxisnah und lohnend lernen können Weg.