Ошибка break-system-packages при установке pip модулей

Возникающая ошибка break-system-packages при установке pip3 модулей для Python может вызывать затруднения, особенно при работе с несколькими ботами, требующими разные версии одного и того же pip модуля. Однако, существует эффективное решение этой проблемы, которое обеспечит бесперебойную работу ваших скриптов.

Пример ошибки:

This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.

If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.

If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.

See /usr/share/doc/python3.11/README.venv for more information

1. Использование виртуального окружения (venv)

Вам предлагается воспользоваться виртуальным окружением (venv) для работы с Python, чтобы избежать перезаписи системных модулей и эффективно управлять версиями необходимых модулей.

В случаях, когда на сервере запущены несколько ботов, использующих один и тот же pip модуль, но требующих разные его версии, использование виртуального окружения становится необходимым. Это позволит изолировать окружение каждого бота и обеспечить работу с нужными версиями модулей без вмешательства в системные библиотеки.

2. Применить флаг --break-system-packages

Чаще всего, можно просто проигнорировать данное предупреждение и запустить команду с флагом --break-system-packages, указанным в тексте после сообщения об ошибке. В большинстве случаев смена версии модуля не влияет на работу скриптов, так как версия Python остается неизменной. В рамках одной версии Python версии модулей pip не играют решающей роли.

В итоге, команда будет выглядеть так:
pip3 install -r text.txt --break-system-packages

  • python, pip, break-system-packages, venv

Помог ли вам данный ответ?

7 Пользователи считают это полезным