Rozwiązanie problemu „zewnętrznie zarządzanego środowiska” w Pythonie na Ubuntu i Fedorze
Jeśli intensywnie korzystasz z Pythona i ostatnio zainstalowałeś Ubuntu 23.04 lub Fedorę 38, mogłeś napotkać komunikat o błędzie „zewnętrznie zarządzane środowisko” podczas próby instalacji pakietów za pomocą pip, menedżera pakietów Pythona. Taka sytuacja może być frustrująca, zwłaszcza że problem ten nie występował w starszych wersjach tych dystrybucji. W tym artykule wyjaśnimy przyczynę tego błędu i pokażemy, jak go skutecznie rozwiązać.
Przyczyna błędu „środowiska zarządzanego zewnętrznie”
Najnowsze wersje dystrybucji Linuksa implementują standardy opisane w dokumencie PEP-668. Zmiany te blokują możliwość domyślnej instalacji pakietów pip w kontekście globalnym. Ma to na celu uniknięcie konfliktów między menedżerem pakietów systemu a narzędziami do zarządzania pakietami Pythona. Więcej informacji znajdziesz w oficjalnej dokumentacji PEP-668. Jeśli chcesz wyłączyć ten mechanizm, masz do dyspozycji trzy opcje.
Metody rozwiązania problemu
1. Usunięcie pliku „EXTERNALLY-MANAGED”
To najprostszy sposób na naprawę błędu. Wystarczy, że przejdziesz do katalogu /usr/lib/python3.xx (gdzie xx to wersja Pythona) i usuniesz plik o nazwie EXTERNALLY-MANAGED. Poniżej przedstawiono komendy, które to umożliwią:
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
Po wykonaniu tej operacji, problem powinien zniknąć. Aby przywrócić ten mechanizm, wystarczy ponownie utworzyć wspomniany plik za pomocą komendy:
sudo touch EXTERNALLY-MANAGED
Teraz powinieneś móc bez problemu instalować pakiety przy użyciu pip lub pip3.
2. Wykorzystanie środowisk wirtualnych do instalacji pakietów pip
Kolejną metodą jest użycie środowisk wirtualnych. To doskonały sposób na izolację pakietów specyficznych dla danego projektu od systemu operacyjnego. Środowiska wirtualne pozwalają również na lepszą organizację pracy.
Aby utworzyć środowisko wirtualne i zainstalować pakiety pip, wykonaj następujące kroki:
- Utwórz nowe środowisko wirtualne za pomocą polecenia:
python3 -m venv venv
- Aktywuj utworzone środowisko poleceniem:
source venv/bin/activate
Po aktywacji środowiska wirtualnego, nazwa środowiska powinna pojawić się w linii poleceń. Teraz możesz instalować pakiety Pythona bez żadnych przeszkód.
Jak widać na przykładzie, instalacja pakietu openai nie powiodła się w środowisku globalnym. Po aktywacji środowiska wirtualnego instalacja przebiegła pomyślnie.
3. Instalacja pakietów Pythona za pomocą pipx
pipx to narzędzie, które pozwala na instalację pakietów Pythona w izolowanych środowiskach wirtualnych. Automatyzuje tworzenie takich środowisk dla każdego pakietu oraz tworzy dowiązania symboliczne w folderze .local/bin, co umożliwia wywoływanie pakietów z dowolnego miejsca w systemie.
Używanie pipx pomaga uniknąć błędu „zewnętrznie zarządzanego środowiska”. Najpierw należy zainstalować pipx za pomocą menedżera pakietów twojej dystrybucji.
W systemach Ubuntu/Debian:
sudo apt-get install pipx
W systemach opartych na Arch:
sudo pacman -S pipx
W Fedorze/CentOS/RHEL:
sudo dnf install pipx
Po instalacji, pipx używa się podobnie jak pip. Przykład:
pipx install openai
Więcej informacji o pipx znajdziesz w manualu (polecenie `man`).
Podsumowanie
Teraz już wiesz, jak rozwiązać problem „zewnętrznie zarządzanego środowiska”. Powinieneś być w stanie kontynuować swoje projekty i rozwijać umiejętności programowania w Pythonie. Jeżeli chcesz dalej zgłębiać tajniki programowania, warto rozważyć naukę opartą na grach, która może przyspieszyć proces nauki i uczynić go bardziej satysfakcjonującym.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.