Dersom du ofte jobber med Python og nylig har oppgradert til Ubuntu 23.04 eller Fedora versjon 38, er det stor sannsynlighet for at du har støtt på feilmeldingen «eksternt administrert miljø» når du prøver å installere pakker ved hjelp av Python-pakkebehandleren pip.
Dette kan være både frustrerende og overraskende, spesielt siden denne feilen ikke pleide å dukke opp i eldre versjoner av Ubuntu, Fedora eller andre Linux-distribusjoner. La oss utforske hva som forårsaker denne feilen og hvordan du raskt kan løse den.
Årsaken til feilmeldingen «eksternt administrert miljø»
De nyeste versjonene av de fleste Linux-distribusjoner følger nå standardene som er definert i PEP-668. Disse endringene innebærer at pip-pakker som standard ikke lenger vil installeres i en global kontekst.
Dette ble implementert for å forhindre konflikter mellom distribusjonens egen pakkebehandling og Pythons pakkehåndteringsverktøy. Du kan finne mer informasjon i den offisielle PEP-668-dokumentasjonen. Det finnes i hovedsak tre metoder for å omgå eller endre denne mekanismen.
1. Sletting av «EXTERNALLY-MANAGED»-filen
Dette er den enkleste måten å løse pip-feilen «eksternt administrert» på. Du trenger bare å navigere til mappen /usr/lib/python3.xx (der xx står for din spesifikke Python-versjon) og slette filen EXTERNALLY-MANAGED. Her er kommandoene du kan bruke:
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
Det er alt som trengs for å fjerne feilen. Hvis du ønsker å gjenopprette denne mekanismen, kan du enkelt opprette filen på nytt ved hjelp av følgende kommando:
sudo touch EXTERNALLY-MANAGED
Etter dette skal du kunne installere pakker med pip eller pip3 uten problemer.
2. Bruk av virtuelle miljøer for å installere pip-pakker
En annen metode er å bruke virtuelle miljøer for Python-prosjektene dine. Virtuelle miljøer er en effektiv måte å isolere prosjektspesifikke pakker fra operativsystemet på, og de bidrar også til å organisere prosjektene dine på en ryddig måte.
Slik oppretter du et virtuelt miljø og installerer pakker med pip:
- Først oppretter du det virtuelle miljøet med kommandoen:
python3 -m venv venv
- Aktiver deretter miljøet ved hjelp av «source»-kommandoen:
source venv/bin/activate
Shell-prompten din vil nå vise navnet på det virtuelle miljøet. Deretter kan du installere alle ønskede Python-pakker.
Som du ser i eksemplet, feilet installasjonen av openai-pakken i første forsøk, men etter å ha opprettet og aktivert det virtuelle miljøet, ble den installert uten problemer.
3. Bruk av pipx for å installere Python-pakker
pipx er et verktøy som installerer Python-pakker i virtuelle og isolerte miljøer. Det automatiserer prosessen med å opprette virtuelle miljøer for hver pakke og lage symbolske lenker til pakkene i .local/bin-mappen, slik at du enkelt kan kalle opp pakkene fra shell-miljøet.
Ved å bruke pipx til å installere pakker, unngår du feilmeldingen «eksternt administrert miljø», da det installerer pakkene i egne virtuelle miljøer. For å bruke pipx, må du først installere det med standard pakkebehandler for din distribusjon.
For Ubuntu/Debian-baserte systemer:
sudo apt-get install pipx
For Arch-baserte systemer:
sudo pacman -S pipx
For Fedora/CentOS/RHEL:
sudo dnf install pipx
Etter at pipx er installert, bruker du det på samme måte som du ville brukt pip. Her er et eksempel:
pipx install openai
Du kan lære mer om pipx ved å lese manualsiden med «man»-kommandoen.
Du har nå lært hvordan du løser feilen «eksternt administrert»
Etter å ha løst feilen «eksternt administrert miljø», skal du kunne fortsette å jobbe med prosjektet ditt eller fortsette å øve på generell Python-programmering. Hvis du er mer interessert i det siste, finnes det mange morsomme måter å lære programmering på. Disse kan hjelpe deg med å lære Python eller et annet språk raskere på en praktisk og engasjerende måte.