Virtual environment
Віртуальне середовище
Віртуальне середовище Python - це інструмент, який дозволяє ізолювати проекти Python один від одного. Коли ви розробляєте додаток на Python, вам часто доводиться працювати з різними бібліотеками та залежностями. Віртуальне оточення надає ізольований простір, де ви можете встановити та використовувати конкретні версії бібліотек та інструментів без впливу на інші проекти чи системні бібліотеки.
Ось кілька основних причин використання віртуальних середовищ:
- Ізоляція проектів: Кожен проект може мати свої власні залежності, версії бібліотек та інші налаштування. Це усуває конфлікти між різними проектами, які можуть використовувати різні версії однієї й тієї ж бібліотеки.
- Управління залежностями: Ви можете встановлювати, оновлювати та видаляти залежності для кожного проекту незалежно. Це полегшує управління бібліотеками та оновленнями.
- Чистота проекту: Віртуальне оточення створює окремий каталог, в якому зберігаються всі файли, пов'язані з проектом. Це включає бібліотеки, скрипти та інше. Після завершення проекту ви можете легко видалити віртуальне оточення і уникнути забруднення системи.
- Переносність: Віртуальне оточення легко передати іншим розробникам, і вони можуть легко відтворити аналогічне оточення для запуску проекту.
Для створення віртуального оточення ви можете використовувати вбудований модуль venv (в Python 3) або інструменти сторонніх розробників, такі як virtualenv або conda.
Встановити pip в систему:
apt install python3-pip
Створення нового віртуального середовища:
python3 -m venv env
яке буде створено у піддиректорії env поточної директорії
Активація:
source env/bin/activate
Потім зробити це:
pip install --upgrade pip setuptools wheel
Це стандартна команда, яка оновлює базові інструменти для встановлення Python-пакетів.\ Вона не встановлює «щось зайве», а лише приводить середовище до нормального сучасного стану.
Розбираємо складові:
1. pip
Менеджер пакетів Python.
Оновлення потрібне тому, що старі версії pip:
- погано працюють з Python 3.12,
- не розуміють нових форматів коліс,
- інколи падають на етапі залежностей (як у твоєму випадку).
2. setuptools
Це утиліта, яка дозволяє збирати та встановлювати Python-пакети з вихідних кодів (source distribution).\ Багато пакетів без неї просто не встановляться.
3. wheel
Це інструмент для роботи з форматами .whl — попередньо зібраними пакетами.\ Якщо wheel застарілий або відсутній, pip доводиться компілювати пакети вручну, що часто ламається.
Встановити модуль:
pip install JSON_minify
Встановити залежност з файлу:
pip install -r ./requirements.txt
Детальніше про pip читай тут.
Деактивація
deactivate
Links
- :book: Virtual environment - 2018_Python_Tricks_-_Dan-Bader.pdf p.271
- Виртуальная среда Python – Основы - https://python-scripts.com/virtualenv
- Simple Python version management - https://github.com/pyenv/pyenv|pyenv
- Установка pyenv - http://ans.kiev.ua/wiki/python/pyenv
- Pyenv: удобный менеджер версий python - https://khashtamov.com/ru/pyenv-python/
- PyEnv - Менеджер версий python - https://habr.com/ru/post/203516/
- Использование нескольких версий Python на unix-подобных операционных системах - https://ru.hexlet.io/blog/posts/ispolzovanie-neskolkih-versiy-python-na-unix-podobnyh-operatsionnyh-sistemah