Så här åtgärdar du pip-felet "externt hanterad miljö" på Linux
Om du ofta arbetar med Python och nyligen bytte till Ubuntu 23.04 eller Fedora version 38, är chansen stor att du har stött på felet “externally-managed-environment” när du installerar paket med Pythons pakethanterare, pip.
Det kan kännas frustrerande att stöta på ett problem som inte förekom i tidigare versioner av operativsystem som Ubuntu och Fedora. Att förstå grundorsaken till problemet och hitta en snabb lösning är nyckeln till att lösa problemet på ett effektivt sätt.
Varför felet “externally-managed-environment” uppstår
De senaste upplagorna av varje Linux-distribution har anammat specifikationerna i PEP, vilket har resulterat i en ändring av installationsbeteendet för pip-paket så att de inte längre installeras inom ett globalt scope som standard.
Detta implementerades i ett försök att undvika konflikter mellan distributionens pakethanterare och Pythons pakethanteringsverktyg. Du kan läsa mer om detaljerna i den officiella PEP-668-dokumentationen . Om du vill återställa eller åsidosätta denna mekanism kan du använda tre tillvägagångssätt.
Ta bort filen “EXTERNALLY-MANAGED”
För att lösa problemet med ett externt hanterat paket i Pip-biblioteket kan man följa en enkel procedur genom att navigera till katalogen “/usr/lib/python3.xx” och ta bort filen “EXTERNALLY-MANAGED” i den katalogen. De specifika stegen för att utföra denna uppgift innebär att du utför följande kommandon:
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
Följ dessa steg för att lösa problemet och återupprätta den saknade funktionen:1. Använd kommandot “touch” för att återskapa den nödvändiga konfigurationsfilen. Detta kan göras genom att skriva “touch /etc/systemd/system/multi-user.target.wants/sleep.override” i din terminal.2. Verifiera att filen har skapats genom att kontrollera dess närvaro med kommandot “ls -l /etc/systemd/system/multi-user.target.wants/”. Filen bör nu visas som en vanlig fil med läsbehörighet för ägare och grupp.
sudo touch EXTERNALLY-MANAGED
Du bör nu uppleva en smidig installationsprocess när du använder antingen pip eller pip3.
Använd virtuella miljöer för att installera pip-paket
En alternativ strategi är att använda virtuella miljöer som ett effektivt sätt att separera specifika programmeringsberoenden från det underliggande operativsystemet och samtidigt underlätta en ordnad organisation av projektet.
Följ dessa steg för att skapa en virtuell miljö och installera paket med hjälp av pip:
⭐ Skapa först den virtuella miljön med:
python3 -m venv venv
⭐ Hämta aktiveringsfilen i bin-katalogen med kommandot source:
source venv/bin/activate
Genom att uppdatera skalprompten med namnet på den virtuella miljön kan du installera en mängd Python-paket som passar dina önskemål och därmed förbättra din utvecklingsupplevelse.
Vid första försöket stötte installationen av OpenAI Python-paketet på problem, men när en virtuell miljö skapades och aktiverades kunde installationsprocessen genomföras utan några problem.
Använd pipx för att installera Python-paket
PipX fungerar som ett effektivt verktyg för att distribuera Python-bibliotek i virtualiserade eller avskärmade inställningar, och effektiviserar processer som att skapa virtuella miljöer som är anpassade för enskilda paket och upprätta symboliska kopplingar mellan dessa paket och deras motsvarande binära filer som finns i användarens .local/bin-katalog. Detta gör att användarna alltid kan komma åt och använda alla paket som installerats via PipX direkt från sitt kommandoradsgränssnitt.
Användning av pipx för paketinstallation erbjuder en lösning på problemet med “externt hanterad miljö”-fel genom att paket installeras i virtuella miljöer. Om du vill använda pipx börjar du med att installera det via standardpakethanteraren i operativsystemet.
På Ubuntu/Debian-derivat:
sudo apt-get install pipx
På Arch-baserade system:
sudo pacman -S pipx
På Fedora/CentOS/RHEL:
sudo dnf install pipx
När pipX har installerats kan man använda det på samma sätt som man använder pip för paketinstallation. Tänk till exempel på följande illustrativa kommando:
pipx install openai
För ytterligare information om pipx rekommenderas starkt att man läser dess manualsida genom att använda kommandot “man”.
Nu vet du hur du åtgärdar felet “externt hanterad”
Efter att ha löst problemet med en externt hanterad miljö kan man återuppta arbetet med sitt projekt eller delta i mer omfattande övningar där Python används som ett primärt programmeringsspråk. För dem med bredare mål som omfattar både personlig utveckling och nöje kan det vara värt att utforska alternativa tillvägagångssätt för att förvärva kunskaper i Python eller andra språk genom spelifieringsmetoder, som ger uppslukande och tillfredsställande upplevelser genom att införliva element av speldesign i inlärningsprocessen.