Hvordan fikse pip-feilen «eksternt administrert miljø» på Linux

Hvis du ofte jobber med Python og nylig byttet til Ubuntu 23.04 eller Fedora versjon 38, er sjansen stor for at du kom over feilen «eksternt administrert miljø» når du installerer pakker med Python-pakkebehandleren, pip.

Dette kan være frustrerende og ganske overraskende siden denne feilen aldri ville dukket opp i de eldre versjonene av Ubuntu, Fedora og andre distribusjoner. La oss finne ut nøyaktig hva som forårsaker denne feilen og hvordan du kan fikse den raskt.

Hvorfor «eksternt administrert miljø»-feilen oppstår

De nyeste versjonene av alle Linux-distribusjoner tar i bruk standardene definert i PEP-668. Disse endringene sikrer at pip-pakker ikke vil bli installert i en global kontekst som standard.

  Hvordan spille Orwell på Linux

Dette ble implementert i et forsøk på å unngå konflikt mellom distribusjonens pakkebehandling og Python-pakkehåndteringsverktøy. Du kan lære om detaljene i offisiell PEP-668-dokumentasjon. Hvis du ønsker å tilbakestille eller overstyre denne mekanismen, kan du ta tre tilnærminger.

1. Slett filen «EKSTERNT ADMINISTRERT».

Dette er den enkleste løsningen på pip-feilen «eksternt administrert». Alt du trenger å gjøre er å navigere til /usr/lib/python3.xx og slette den EKSTERNT-ADMINISTRerte filen i katalogen. Her er kommandoene for å gjøre det:

 cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED

Det er alt du trenger å gjøre for å fikse feilen. Hvis du velger å gjenopprette denne mekanismen, oppretter du den samme filen igjen med berøringskommandoen:

 sudo touch EXTERNALLY-MANAGED 

Nå skal du kunne installere pakker sømløst med pip eller pip3.

2. Bruk virtuelle miljøer til å installere pip-pakker

En annen tilnærming du kan ta er å bruke virtuelle miljøer for Python-prosjektet ditt. Virtuelle miljøer er en fin måte å isolere programspesifikke pakker fra operativsystemet og lar deg også organisere prosjektet ditt på en ryddig måte.

  Slik reinstallerer du Grub på Arch Linux

Slik lager du et virtuelt miljø og installerer pakker med pip:

  • Lag først det virtuelle miljøet med:
     python3 -m venv venv 
  • Kilde aktiveringsfilen i bin-katalogen ved å bruke kildekommandoen:
     source venv/bin/activate 
  • Shell-forespørselen din bør oppdateres med navnet på det virtuelle miljøet. Nå vil du kunne installere alle Python-pakker du ønsker.

    Som du kan se, kunne ikke openai Python-pakken installeres med det første, men etter å ha opprettet og byttet til et virtuelt miljø, blir den installert feilfritt.

    3. Bruk pipx til å installere Python-pakker

    pipx er et verktøy for å installere Python-pakker i virtuelle og isolerte miljøer. Den automatiserer trinn som å lage virtuelle miljøer for hver pakke og lage symbolske lenker til pakkene i .local/bin-mappen slik at du kan ringe hver pakke fra skallet til enhver tid.

      Hvordan legge til systeminformasjon til Linux-skrivebordet

    Å bruke pipx til å installere pakker hjelper deg med å unngå feilen «eksternt administrert miljø» når den installerer pakker i virtuelle miljøer. For å bruke pipx, installer den først med standard pakkebehandling for distribusjonen din.

    På Ubuntu/Debian-derivater:

     sudo apt-get install pipx 

    På Arch-baserte systemer:

     sudo pacman -S pipx 

    På Fedora/CentOS/RHEL:

     sudo dnf install pipx 

    Når du har installert pipx, bruk det akkurat som du ville brukt pip til å installere pakker. Her er en eksempelkommando:

     pipx install openai 

    For å lære mer om pipx, kan du se man-siden ved å bruke man-kommandoen.

    Nå vet du hvordan du fikser «eksternt administrert»-feilen

    Etter å ha fikset feilen «eksternt administrert miljø», bør du kunne fortsette å jobbe med prosjektet ditt eller praktisere generell Python-programmering. Hvis du er fokusert på sistnevnte, vil du kanskje sjekke ut de forskjellige gamified måtene å lære programmering på som vil hjelpe deg å lære Python, eller et hvilket som helst språk mye raskere på en praktisk og givende måte.