Kako popraviti napako pip 'zunanje upravljano okolje' v sistemu Linux

Kako popraviti napako pip 'zunanje upravljano okolje' v sistemu Linux
Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Če pogosto delate s Pythonom in ste pred kratkim prešli na Ubuntu 23.04 ali Fedoro različico 38, je velika verjetnost, da ste pri nameščanju paketov z upraviteljem paketov Python, pip, naleteli na napako 'zunanje upravljano okolje'.





MUO Video dneva POMIKITE SE ZA NADALJEVANJE Z VSEBINO

To bi lahko bilo frustrirajuće in precej presenetljivo, saj se ta napaka nikoli ne bi pojavila v starejših različicah Ubuntuja, Fedore in drugih distribucij. Naučimo se, kaj točno povzroča to napako in kako jo lahko hitro odpravite.





Zakaj pride do napake 'zunanje upravljano okolje'.

  pip zunanje upravljana napaka

Najnovejše različice vseh distribucij Linuxa sprejemajo standarde, opredeljene v PEP-668. Te spremembe zagotavljajo, da paketi pip ne bodo privzeto nameščeni v globalnem kontekstu.





To je bilo izvedeno v poskusu, da bi se izognili konfliktu med upraviteljem paketov distribucije in orodji za upravljanje paketov Python. O podrobnostih lahko izveste v uradna dokumentacija PEP-668 . Če želite razveljaviti ali preglasiti ta mehanizem, lahko uporabite tri pristope.

1. Izbrišite datoteko 'ZUNANJE UPRAVLJANJE'.

  brisanje ZUNANJE UPRAVLJENE datoteke

To je najpreprostejši popravek napake pip 'zunanje upravljanje'. Vse kar morate storiti je, da navigirate do /usr/lib/python3.xx in izbrišite ZUNANJE UPRAVLJANJE datoteko v imeniku. Tukaj so ukazi za to:



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

To je vse, kar morate storiti, da odpravite napako. Če se odločite obnoviti ta mehanizem, znova ustvarite isto datoteko z ukaz na dotik :

 sudo touch EXTERNALLY-MANAGED

Zdaj bi morali imeti možnost brezhibne namestitve paketov s pip ali pip3.





2. Uporabite virtualna okolja za namestitev paketov pip

Drug pristop, ki ga lahko uporabite, je uporaba virtualna okolja za vaš projekt Python . Navidezna okolja so odličen način za izolacijo paketov, specifičnih za program, od operacijskega sistema in vam tudi omogočajo, da lepo organizirate svoj projekt.

Tukaj je opisano, kako ustvarite virtualno okolje in namestite pakete s pipom:





  1. Najprej ustvarite virtualno okolje z:
     python3 -m venv venv
  2. Poiščite datoteko za aktiviranje znotraj imenika bin z ukazom source:
     source venv/bin/activate

Vaš ukazni poziv bi moral biti posodobljen z imenom navideznega okolja. Zdaj boste lahko namestili poljubne pakete Python.

  uporaba venv rešuje zunanje upravljano napako

Kot vidite, je openai Paketa Python sprva ni bilo mogoče namestiti, vendar se po ustvarjanju in preklopu v virtualno okolje brezhibno namesti.

3. Uporabite pipx za namestitev paketov Python

  namestitev paketov s pipx

pipx je pripomoček za namestitev paketov Python v virtualnih in izoliranih okoljih. Avtomatizira korake, kot je ustvarjanje virtualnih okolij za vsak paket in ustvarjanje simboličnih povezav do paketov v .local/bin tako da lahko vsak paket kadar koli pokličete iz lupine.

Uporaba pipx za namestitev paketov vam pomaga preprečiti napako 'zunanje upravljanega okolja', saj namesti pakete v virtualnih okoljih. Če želite uporabljati pipx, ga najprej namestite s privzetim upraviteljem paketov vaše distribucije.

Na izpeljankah Ubuntu/Debian:

 sudo apt-get install pipx

V sistemih, ki temeljijo na Archu:

 sudo pacman -S pipx

Na Fedora/CentOS/RHEL:

kako zmanjšati ločljivost jpega
 sudo dnf install pipx

Ko namestite pipx, ga uporabite tako, kot bi uporabili pip za namestitev paketov. Tukaj je primer ukaza:

 pipx install openai

Če želite izvedeti več o pipx, se lahko obrnete na njegovo stran priročnika z ukazom man.

Zdaj veste, kako odpraviti napako »zunanje upravljanje«.

Ko odpravite napako »zunanje upravljano okolje«, boste lahko nadaljevali z delom na svojem projektu ali vadbo splošnega programiranja Python. Če ste osredotočeni na slednje, boste morda želeli preveriti različne igričarske načine učenja programiranja, ki vam bodo pomagali naučiti se Python ali katerega koli jezika veliko hitreje na praktičen in koristen način.