Ak ste nedávno narazili na chybu „externally-managed-environment“ pri inštalácii balíkov pip v systéme Linux, tu je návod, ako to opraviť.

Ak často pracujete s Pythonom a nedávno ste prešli na Ubuntu 23.04 alebo Fedora verziu 38, je pravdepodobné, že ste narazil na chybu „externally-managed-environment“ pri inštalácii balíkov pomocou správcu balíkov Python, pip.

To by mohlo byť frustrujúce a celkom prekvapivé, pretože táto chyba by sa nikdy neobjavila v starších verziách Ubuntu, Fedory a iných distribúcií. Poďme zistiť, čo presne spôsobuje túto chybu a ako ju môžete rýchlo opraviť.

Prečo sa vyskytuje chyba „externe spravovaného prostredia“.

Najnovšie verzie všetkých distribúcií Linuxu prijímajú štandardy definované v PEP-668. Tieto zmeny zabezpečujú, že balíky pip nebudú štandardne inštalované v globálnom kontexte.

Toto bolo implementované v snahe vyhnúť sa konfliktu medzi správcom balíkov distribúcie a nástrojmi na správu balíkov Pythonu. Podrobnosti sa môžete dozvedieť v oficiálna dokumentácia PEP-668

instagram viewer
. Ak chcete tento mechanizmus vrátiť späť alebo prepísať, môžete použiť tri prístupy.

1. Odstráňte súbor „EXTERNALLY-MANAGED“.

Toto je najjednoduchšia oprava chyby „externe spravovanej“ pip. Jediné, čo musíte urobiť, je navigovať /usr/lib/python3.xx a vymažte EXTERNE RIADENÉ súbor v adresári. Tu sú príkazy, ako to urobiť:

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

To je všetko, čo musíte urobiť, aby ste chybu opravili. Ak sa rozhodnete obnoviť tento mechanizmus, vytvorte rovnaký súbor znova pomocou dotykový príkaz:

sudo touch EXTERNALLY-MANAGED

Teraz by ste mali byť schopní bez problémov nainštalovať balíky pomocou pip alebo pip3.

2. Na inštaláciu balíkov pip použite virtuálne prostredia

Ďalším prístupom, ktorý môžete použiť, je použitie virtuálne prostredia pre váš projekt Python. Virtuálne prostredia sú skvelým spôsobom, ako izolovať balíky špecifické pre daný program od operačného systému a tiež vám umožňujú prehľadne organizovať váš projekt.

Tu je postup, ako vytvoriť virtuálne prostredie a nainštalovať balíky pomocou pip:

  1. Najprv vytvorte virtuálne prostredie pomocou:
    python3 -m venv venv
  2. Zdroj aktivačného súboru v adresári bin pomocou príkazu source:
    source venv/bin/activate

Vaša výzva shellu by mala byť aktualizovaná názvom virtuálneho prostredia. Teraz si budete môcť nainštalovať ľubovoľné balíčky Pythonu, ktoré chcete.

Ako môžete vidieť, openai Balík Python sa najskôr nedal nainštalovať, ale po vytvorení a prepnutí do virtuálneho prostredia sa nainštaluje bezchybne.

3. Na inštaláciu balíkov Pythonu použite pipx

pipx je nástroj na inštaláciu balíkov Pythonu vo virtuálnych a izolovaných prostrediach. Automatizuje kroky, ako je vytváranie virtuálnych prostredí pre každý balík a vytváranie symbolických odkazov na balíky v .local/bin priečinok, takže môžete kedykoľvek vyvolať každý balík z shellu.

Použitie pipx na inštaláciu balíkov vám pomôže vyhnúť sa chybe „externally-managed-environment“ pri inštalácii balíkov vo virtuálnych prostrediach. Ak chcete použiť pipx, najprv ho nainštalujte pomocou predvoleného správcu balíkov vašej distribúcie.

Na derivátoch Ubuntu/Debianu:

sudo apt-get install pipx

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

sudo pacman -S pipx

Na Fedore/CentOS/RHEL:

sudo dnf install pipx

Po nainštalovaní pipx ho používajte rovnako ako pip na inštaláciu balíkov. Tu je vzorový príkaz:

pipx install openai

Ak sa chcete dozvedieť viac o pipx, môžete sa pozrieť na jeho manuálovú stránku pomocou príkazu man.

Teraz viete, ako opraviť "externe spravovanú" chybu

Po oprave chyby „externally-managed-environment“ by ste mali byť schopní pokračovať v práci na svojom projekte alebo v precvičovaní všeobecného programovania v Pythone. Ak sa zameriavate na to druhé, možno budete chcieť vyskúšať rôzne gamifikované spôsoby učenia programovanie, ktoré vám pomôže naučiť sa Python alebo akýkoľvek iný jazyk oveľa rýchlejšie v praktickej a užitočnej forme spôsobom.