Если вы часто работаете с 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
Это все, что вам нужно сделать, чтобы исправить ошибку. Если вы решите восстановить этот механизм, создайте тот же файл снова с помощью сенсорной команды:
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-странице с помощью команды man.
Теперь вы знаете, как исправить ошибку «управляемого извне»
После исправления ошибки «внешне управляемая среда» вы сможете продолжить работу над своим проектом или практиковаться в общем программировании на Python. Если вы сосредоточены на последнем, возможно, вы захотите ознакомиться с различными игровыми способами изучения программирования, которые помогут вам выучить Python или любой другой язык гораздо быстрее, практическим и полезным способом.