Якщо ви часто працюєте з Python і нещодавно перейшли на Ubuntu 23.04 або Fedora версії 38, швидше за все, ви натрапили на помилку «зовнішнє кероване середовище» під час встановлення пакетів за допомогою менеджера пакетів Python, pip.
Це може бути неприємним і досить несподіваним, оскільки ця помилка ніколи не з’являтиметься в старіших версіях Ubuntu, Fedora та інших дистрибутивах. Давайте дізнаємося, що саме викликає цю помилку та як її можна швидко виправити.
Чому виникає помилка «зовнішнє кероване середовище».
Останні версії всіх дистрибутивів Linux приймають стандарти, визначені в PEP-668. Ці зміни гарантують, що пакунки pip не будуть встановлені в глобальному контексті за замовчуванням.
Це було реалізовано, щоб уникнути конфлікту між менеджером пакетів дистрибутива та інструментами керування пакетами Python. Про подробиці можна дізнатися в офіційна документація PEP-668. Якщо ви бажаєте повернути або скасувати цей механізм, ви можете застосувати три підходи.
1. Видаліть файл «ЗОВНІШНЄ КЕРУВАННЯ».
Це найпростіше виправлення помилки «зовнішнього керування» pip. Все, що вам потрібно зробити, це перейти до /usr/lib/python3.xx і видалити файл, КЕРОВАНИЙ ЗОВНІШНІМ ПІДПРИЄМСТВОМ, у каталозі. Ось команди для цього:
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
Це все, що вам потрібно зробити, щоб виправити помилку. Якщо ви вирішите відновити цей механізм, створіть той самий файл знову за допомогою команди touch:
sudo touch EXTERNALLY-MANAGED
Тепер ви зможете безперешкодно встановлювати пакунки за допомогою pip або pip3.
2. Використовуйте віртуальні середовища для встановлення пакетів pip
Інший підхід, який ви можете застосувати, це використання віртуальних середовищ для вашого проекту Python. Віртуальні середовища — це чудовий спосіб ізолювати специфічні пакети програм від операційної системи, а також дозволяють акуратно організувати ваш проект.
Ось як створити віртуальне середовище та встановити пакунки за допомогою pip:
python3 -m venv venv
source venv/bin/activate
У вашій підказці оболонки має бути оновлено назву віртуального середовища. Тепер ви зможете інсталювати будь-які пакети Python, які забажаєте.
Як бачите, пакет openai Python спочатку не вдалося встановити, але після створення та перемикання у віртуальне середовище він бездоганно встановлюється.
3. Використовуйте pipx для встановлення пакетів Python
pipx — це утиліта для встановлення пакетів Python у віртуальних та ізольованих середовищах. Він автоматизує такі дії, як створення віртуальних середовищ для кожного пакета та створення символічних посилань на пакети в папці .local/bin, щоб ви могли завжди викликати кожен пакет із оболонки.
Використання pipx для встановлення пакетів допомагає уникнути помилки «зовнішнього керованого середовища», оскільки пакети встановлюються у віртуальних середовищах. Щоб використовувати pipx, спочатку встановіть його за допомогою менеджера пакетів за замовчуванням вашого дистрибутива.
На похідних Ubuntu/Debian:
sudo apt-get install pipx
У системах на основі Arch:
sudo pacman -S pipx
У Fedora/CentOS/RHEL:
sudo dnf install pipx
Після того, як ви встановили pipx, використовуйте його так само, як і pip для встановлення пакунків. Ось зразок команди:
pipx install openai
Щоб дізнатися більше про pipx, ви можете звернутися до його сторінки довідки за допомогою команди man.
Тепер ви знаєте, як виправити помилку «зовнішнього керування».
Після виправлення помилки «зовнішнього керованого середовища» ви зможете продовжувати працювати над своїм проектом або займатися загальним програмуванням на Python. Якщо ви зосереджені на останньому, можливо, ви захочете ознайомитися з різними гейміфікованими способами навчання програмуванню, які допоможуть вам вивчити Python або будь-яку іншу мову набагато швидше в практичній та корисній формі.