Pokud jste nedávno narazili na chybu „externally-managed-environment“ při instalaci balíčků pip na Linuxu, zde je návod, jak ji opravit.

Pokud často pracujete s Pythonem a nedávno jste přešli na Ubuntu 23.04 nebo Fedora verze 38, je pravděpodobné, že jste narazil na chybu „externally-managed-environment“ při instalaci balíčků pomocí správce balíčků Python, pip.

To by mohlo být frustrující a docela překvapivé, protože tato chyba se nikdy neobjevila ve starších verzích Ubuntu, Fedory a dalších distribucí. Pojďme se dozvědět, co přesně tuto chybu způsobuje a jak ji můžete rychle opravit.

Proč dochází k chybě „externě spravovaného prostředí“.

Nejnovější verze všech distribucí Linuxu přebírají standardy definované v PEP-668. Tyto změny zajišťují, že balíčky pip nebudou standardně instalovány v globálním kontextu.

Toto bylo implementováno ve snaze vyhnout se konfliktu mezi správcem balíčků distribuce a nástroji pro správu balíčků Pythonu. Podrobnosti se můžete dozvědět v oficiální dokumentace PEP-668. Pokud chcete tento mechanismus vrátit nebo potlačit, můžete použít tři přístupy.

instagram viewer

1. Smažte soubor "EXTERNALLY-MANAGED".

Toto je nejjednodušší oprava chyby „externě spravované“ pip. Jediné, co musíte udělat, je navigovat /usr/lib/python3.xx a smazat EXTERNĚ ŘÍZENÉ soubor v adresáři. Zde jsou příkazy, jak to provést:

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

To je vše, co musíte udělat, abyste chybu napravili. Pokud se rozhodnete obnovit tento mechanismus, vytvořte stejný soubor znovu pomocí dotykový příkaz:

sudo touch EXTERNALLY-MANAGED

Nyní byste měli být schopni bez problémů nainstalovat balíčky pomocí pip nebo pip3.

2. K instalaci balíčků pip použijte virtuální prostředí

Dalším přístupem, který můžete použít, je použití virtuální prostředí pro váš projekt Python. Virtuální prostředí jsou skvělým způsobem, jak izolovat balíčky specifické pro program od operačního systému a také vám umožňují úhledně organizovat váš projekt.

Zde je návod, jak vytvořit virtuální prostředí a nainstalovat balíčky pomocí pip:

  1. Nejprve vytvořte virtuální prostředí pomocí:
    python3 -m venv venv
  2. Zdroj aktivačního souboru v adresáři bin pomocí příkazu source:
    source venv/bin/activate

Vaše výzva shellu by měla být aktualizována názvem virtuálního prostředí. Nyní budete moci nainstalovat libovolné balíčky Pythonu, které si přejete.

Jak můžete vidět, openai Balíček Python zpočátku nešlo nainstalovat, ale po vytvoření a přepnutí do virtuálního prostředí se nainstaluje bezchybně.

3. K instalaci balíčků Pythonu použijte pipx

pipx je nástroj pro instalaci balíčků Pythonu ve virtuálních a izolovaných prostředích. Automatizuje kroky, jako je vytváření virtuálních prostředí pro každý balíček a vytváření symbolických odkazů na balíčky v .místní/přihrádka složku, takže můžete kdykoli volat každý balíček z shellu.

Použití pipx k instalaci balíčků vám pomůže vyhnout se chybě "externally-managed-environment" při instalaci balíčků do virtuálních prostředí. Chcete-li použít pipx, nejprve jej nainstalujte pomocí výchozího správce balíčků vaší distribuce.

Na derivátech Ubuntu/Debianu:

sudo apt-get install pipx

Na systémech založených na Arch:

sudo pacman -S pipx

Na Fedora/CentOS/RHEL:

sudo dnf install pipx

Jakmile nainstalujete pipx, použijte jej stejně jako pip k instalaci balíčků. Zde je ukázkový příkaz:

pipx install openai

Chcete-li se o pipx dozvědět více, můžete se podívat na jeho manuálovou stránku pomocí příkazu man.

Nyní víte, jak opravit chybu „externě spravované“.

Po opravě chyby „externally-managed-environment“ byste měli být schopni pokračovat v práci na svém projektu nebo v procvičování obecného programování v Pythonu. Pokud se zaměřujete na to druhé, možná budete chtít vyzkoušet různé gamifikované způsoby učení programování, které vám pomůže naučit se Python nebo jakýkoli jiný jazyk mnohem rychleji, prakticky a za odměnu cesta.