Jei neseniai susidūrėte su „išoriškai valdomos aplinkos“ klaida diegdami pip paketus sistemoje „Linux“, štai kaip ją ištaisyti.
Jei dažnai dirbate su Python ir neseniai perėjote į Ubuntu 23.04 arba Fedora 38 versiją, tikėtina, kad diegiant paketus naudojant „Python“ paketų tvarkyklę, įvyko klaida „išoriškai valdoma aplinka“, pip.
Tai gali būti nelinksma ir gana stebina, nes ši klaida niekada nepasirodys senesnėse Ubuntu, Fedora ir kitų platinimų versijose. Sužinokime, kas tiksliai sukelia šią klaidą ir kaip galite greitai ją ištaisyti.
Kodėl atsiranda „išoriškai valdomos aplinkos“ klaida
Naujausios visų „Linux“ platinimų versijos perima PEP-668 apibrėžtus standartus. Šie pakeitimai užtikrina, kad pip paketai pagal numatytuosius nustatymus nebus įdiegti visuotiniame kontekste.
Tai buvo įgyvendinta siekiant išvengti konflikto tarp platinimo paketų tvarkyklės ir Python paketų valdymo įrankių. Išsamią informaciją galite sužinoti oficialią PEP-668 dokumentaciją. Jei norite grąžinti arba nepaisyti šio mechanizmo, galite pasirinkti tris būdus.
1. Ištrinkite failą „IŠORĖ VALDOMAS“.
Tai paprasčiausias pip „išoriškai valdomos“ klaidos pataisymas. Viskas, ką jums reikia padaryti, tai nueiti į /usr/lib/python3.xx ir ištrinti IŠORĖS VALDYMAS failą kataloge. Štai komandos, kaip tai padaryti:
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
Tai viskas, ką jums reikia padaryti, kad ištaisytumėte klaidą. Jei nuspręsite atkurti šį mechanizmą, sukurkite tą patį failą dar kartą naudodami paliesti komandą:
sudo touch EXTERNALLY-MANAGED
Dabar turėtumėte turėti galimybę sklandžiai įdiegti paketus naudodami pip arba pip3.
2. Norėdami įdiegti pip paketus, naudokite virtualias aplinkas
Kitas būdas, kurį galite naudoti, yra naudoti virtualios aplinkos jūsų Python projektui. Virtuali aplinka yra puikus būdas atskirti konkrečioms programoms skirtus paketus nuo operacinės sistemos ir taip pat leidžia tvarkingai organizuoti projektą.
Štai kaip sukurti virtualią aplinką ir įdiegti paketus su pip:
- Pirmiausia sukurkite virtualią aplinką naudodami:
python3 -m venv venv
- Įveskite aktyvinimo failą bin kataloge naudodami šaltinio komandą:
source venv/bin/activate
Jūsų apvalkalo raginimas turėtų būti atnaujintas virtualios aplinkos pavadinimu. Dabar galėsite įdiegti bet kokius norimus Python paketus.
Kaip matote, openai „Python“ paketo iš pradžių nepavyko įdiegti, tačiau sukūrus ir perjungus į virtualią aplinką, jis įdiegiamas nepriekaištingai.
3. Norėdami įdiegti „Python“ paketus, naudokite pipx
pipx yra programa, skirta įdiegti Python paketus virtualioje ir izoliuotoje aplinkoje. Jis automatizuoja tokius veiksmus kaip virtualios aplinkos kūrimas kiekvienam paketui ir simbolinių nuorodų į paketus kūrimas .local/bin aplanką, kad galėtumėte visada skambinti į kiekvieną paketą iš apvalkalo.
Pipx naudojimas paketams įdiegti padeda išvengti „išoriškai valdomos aplinkos“ klaidos, kai paketai diegiami virtualioje aplinkoje. Norėdami naudoti pipx, pirmiausia įdiekite jį naudodami numatytąją platinimo paketų tvarkyklę.
„Ubuntu“ / „Debian“ dariniuose:
sudo apt-get install pipx
„Arch“ pagrįstose sistemose:
sudo pacman -S pipx
„Fedora“ / „CentOS“ / RHEL:
sudo dnf install pipx
Įdiegę pipx, naudokite jį taip pat, kaip naudodami pip paketams įdiegti. Štai komandos pavyzdys:
pipx install openai
Norėdami sužinoti daugiau apie pipx, galite kreiptis į jo puslapį naudodami komandą man.
Dabar žinote, kaip ištaisyti „išoriškai valdomą“ klaidą
Ištaisę „išoriškai valdomos aplinkos“ klaidą, turėtumėte galėti toliau dirbti su projektu arba praktikuoti bendrą Python programavimą. Jei daugiausia dėmesio skiriate pastarajam, galbūt norėsite susipažinti su skirtingais žaidimų būdais programavimas, padėsiantis išmokti Python ar bet kurią kitą kalbą daug greičiau praktiškai ir naudingai būdu.