Ha gyakran dolgozik Pythonnal, és a közelmúltban az Ubuntu 23.04-re vagy a Fedora 38-as verziójára váltott, akkor valószínűleg a Python csomagkezelővel (pip) telepített csomagok „külsőleg felügyelt környezet” hibájára bukkant.
Ez frusztráló és meglehetősen meglepő lehet, mivel ez a hiba soha nem jelenik meg az Ubuntu, Fedora és más disztribúciók régebbi verzióiban. Nézzük meg, mi okozza pontosan ezt a hibát, és hogyan javíthatja ki gyorsan.
Tartalomjegyzék
Miért fordul elő a „külsőleg kezelt környezet” hiba?
Az összes Linux disztribúció legújabb verziója átveszi a PEP-668 szabványban meghatározott szabványokat. Ezek a változtatások biztosítják, hogy a pip csomagok alapértelmezés szerint ne legyenek globális környezetben telepítve.
Ez azért történt, hogy elkerüljük a disztribúció csomagkezelője és a Python csomagkezelő eszközei közötti ütközést. A részletekről a hivatalos PEP-668 dokumentáció. Ha vissza akarja állítani vagy felül akarja írni ezt a mechanizmust, három megközelítést választhat.
1. Törölje az „EXTERNALLY-MANAGED” fájlt
Ez a pip „külsőleg kezelt” hiba legegyszerűbb javítása. Mindössze annyit kell tennie, hogy navigálnia kell a /usr/lib/python3.xx mappába, és törölnie kell a KÜLSŐL KEZELT fájlt a könyvtárból. Itt vannak az ehhez szükséges parancsok:
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
Csak ennyit kell tennie a hiba kijavításához. Ha úgy dönt, hogy visszaállítja ezt a mechanizmust, hozza létre újra ugyanazt a fájlt a touch paranccsal:
sudo touch EXTERNALLY-MANAGED
Most már zökkenőmentesen telepítheti a csomagokat a pip vagy a pip3 segítségével.
2. Használjon Virtuális környezeteket a pip csomagok telepítéséhez
Egy másik lehetséges megközelítés a virtuális környezetek használata a Python-projekthez. A virtuális környezetek nagyszerű lehetőséget kínálnak a programspecifikus csomagok elválasztására az operációs rendszertől, és lehetővé teszik a projekt rendezett szervezését is.
Így hozhat létre virtuális környezetet és telepíthet csomagokat pip segítségével:
python3 -m venv venv
source venv/bin/activate
A shell promptot frissíteni kell a virtuális környezet nevével. Mostantól tetszőleges Python-csomagokat telepíthet.
Amint látható, az openai Python csomagot először nem lehetett telepíteni, de miután létrehoztuk és virtuális környezetre váltunk, hibátlanul települ.
3. Használja a pipxet a Python-csomagok telepítéséhez
A pipx egy segédprogram Python-csomagok virtuális és izolált környezetekben történő telepítéséhez. Automatizálja az olyan lépéseket, mint például virtuális környezetek létrehozása az egyes csomagokhoz és szimbolikus hivatkozások létrehozása a .local/bin mappában lévő csomagokhoz, így minden csomagot bármikor meghívhat a héjból.
A pipx használata a csomagok telepítéséhez segít elkerülni a „külsőleg felügyelt környezet” hibát, amikor a csomagokat virtuális környezetbe telepíti. A pipx használatához először telepítse a disztribúció alapértelmezett csomagkezelőjével.
Ubuntu/Debian származékokon:
sudo apt-get install pipx
Arch alapú rendszereken:
sudo pacman -S pipx
Fedora/CentOS/RHEL rendszeren:
sudo dnf install pipx
A pipx telepítése után ugyanúgy használja, mint a pip-et a csomagok telepítéséhez. Íme egy példa parancs:
pipx install openai
Ha többet szeretne megtudni a pipx-ről, tekintse meg annak man oldalát a man paranccsal.
Most már tudja, hogyan javíthatja ki a „külsőleg kezelt” hibát
A „külsőleg felügyelt környezet” hiba kijavítása után folytathatja a munkát a projekten vagy gyakorolhatja az általános Python programozást. Ha az utóbbira koncentrál, érdemes lehet kipróbálnia a programozás tanulásának különféle játékmódjait, amelyek segítenek a Python vagy bármely más nyelv sokkal gyorsabb, gyakorlatias és kifizetődő elsajátításában.