Основні Положення
- В операційній системі Raspberry Pi OS Bookworm, для уникнення колізій із системним Python, необхідно встановлювати пакети Python у віртуальному середовищі.
- Застосовуйте менеджер пакетів apt для пошуку і встановлення потрібних пакетів Python, але якщо пакет відсутній або необхідна новіша версія, тоді використовуйте інструмент pip всередині віртуального середовища.
- Всі зміни та встановлення, виконані у віртуальному середовищі, не мають впливу на системну версію Python.
Зіткнулися з проблемами при встановленні пакетів Python за допомогою інструмента “pip” у Raspberry Pi OS Bookworm? Існує кілька додаткових кроків, які необхідно виконати, включаючи створення віртуального середовища Python. Розглянемо, як це реалізувати.
Зміни в Raspberry Pi OS Bookworm
Оскільки Raspberry Pi 5 не сумісний з попередніми версіями ОС Raspberry Pi, вам потрібно буде інсталювати нову версію “Bookworm”. Це один з важливих аспектів, який потрібно враховувати при переході на Raspberry Pi 5 з попередньої моделі.
У попередніх версіях ОС Raspberry Pi, що базувалися на Debian (Buster та ранніх версіях), була можливість встановлювати бібліотеки Python напряму в системі, використовуючи менеджер пакетів pip. Однак, у новій Raspberry Pi OS Bookworm ситуація змінилася.
Як зазначено в офіційній документації Raspberry Pi, проблема полягала в тому, що використання такого інструменту як pip могло спричинити конфлікти з системним менеджером пакетів ОС.
Відповідно до цього, у Bookworm та пізніших версіях, при використанні pip пакети мають встановлюватися у віртуальне середовище Python, що є ізольованим програмним простором. Це забезпечує, що вони не створюють перешкод для системної версії Python.
При спробі використовувати команду pip install [назва_пакета] безпосередньо в системі, ви отримаєте повідомлення про помилку, яке починається так:
error: externally-managed-environment× 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.
Пошук пакетів Python за допомогою Apt
Перш за все, перевірте, чи наявний потрібний вам пакет Python для встановлення за допомогою системного менеджера пакетів apt. Для пошуку використовуйте команду apt search. Наприклад:
apt search numpy
Зверніть увагу на назву пакета, наприклад, python3-numpy (для Python версії 3), та встановіть його за допомогою apt (з префіксом sudo для отримання прав адміністратора):
sudo apt install python3-numpy
Якщо потрібний пакет Python відсутній у apt або потрібна його більш свіжа версія, вам потрібно буде скористатися інструментом pip для встановлення пакета у віртуальне середовище Python.
Створення віртуального середовища Python
Для встановлення пакетів Python з використанням pip у Raspberry Pi OS Bookworm, спочатку необхідно створити віртуальне середовище Python, використовуючи venv. Ми назвали його “muo-project”, але ви можете дати йому будь-яке ім’я:
python -m venv muo-project
Це займе певний час, залежно від вашої моделі Raspberry Pi. Потім, перейдіть до щойно створеної папки віртуального середовища, де знаходиться повний дистрибутив Python, і активуйте його:
cd muo-project
source bin/activate
Тепер віртуальне середовище Python готове до роботи, а перед системним запитом буде виведено його назву, у цьому випадку “muo-project”. Це означає, що ви працюєте не з системною версією Python, а з версією у вашому віртуальному середовищі. Таким чином, будь-які зміни або встановлення модулів не вплинуть на системний Python.
Зауваження: після перезавантаження Raspberry Pi вам необхідно повторно активувати віртуальне середовище Python, щоб продовжувати його використання.
Якщо необхідно створити віртуальне середовище Python з копією всіх модулів, встановлених на рівні операційної системи, додайте параметр –system-site-packages. Наприклад: python -m venv –system-site-packages muo-project.
Встановлення пакетів Python за допомогою Pip
З активним віртуальним середовищем Python ви можете встановлювати необхідні пакети за допомогою команди pip. Наприклад, для встановлення інструменту для стрес-тестування Stressberry, введіть:
pip install stressberry
Ця команда встановить модуль разом з усіма потрібними залежностями у вашому віртуальному середовищі Python. Важливо пам’ятати, що цей модуль буде доступний тільки в цьому середовищі, а не в усій системі.
Відсутність конфліктів пакетів Python
Хоча встановлення пакетів Python за допомогою pip у Raspberry Pi OS Bookworm вимагає додаткових кроків, перевагою є те, що вони існують лише у віртуальному середовищі і не можуть вплинути або пошкодити систему.