venv (Virtual Environment) — це віртуальне середовище Python, яке дозволяє створити ізольований набір бібліотек для окремого проєкту. Це означає, що різні проєкти можуть використовувати різні версії пакетів і навіть різні налаштування Python, не конфліктуючи між собою.
Наприклад, один проєкт може використовувати pandas==2.2, а інший — pandas==1.5. Завдяки venv ці версії працюватимуть незалежно.
Переваги використання venv
- Ізоляція залежностей — пакети встановлюються лише для конкретного проєкту.
- Відсутність конфліктів версій — різні проєкти можуть використовувати різні версії бібліотек.
- Безпечність для системи — не потрібно встановлювати пакети глобально в Ubuntu.
- Зручність перенесення — залежності можна зберегти у файл
requirements.txt. - Краща інтеграція з VS Code та Jupyter Notebook.
Встановлення підтримки venv в Ubuntu
У деяких версіях Ubuntu підтримка venv встановлена не за замовчуванням. Для її встановлення виконайте:
sudo apt update
sudo apt install python3-venv
Або для конкретної версії Python:
sudo apt install python3.12-venv
Створення віртуального середовища
Створити середовище можна у папці проєкту або окремому каталозі.
Приклад створення в домашній папці:
python3 -m venv ~/venvs/jupyter
Після виконання буде створено структуру каталогів з окремим Python, pip та бібліотеками.
Активація venv
Щоб почати використовувати середовище:
source ~/venvs/jupyter/bin/activate
Після активації в терміналі з’явиться назва середовища:
(jupyter) user@pc:~$
Перевірити, який Python використовується:
which python
which pip
Результат має бути приблизно таким:
/home/user/venvs/jupyter/bin/python
/home/user/venvs/jupyter/bin/pip
Встановлення пакетів у venv
Усі бібліотеки потрібно встановлювати після активації середовища:
pip install pandas
Або кілька пакетів одночасно:
pip install pandas numpy matplotlib scikit-learn
Перевірити список встановлених пакетів:
pip list
Збереження залежностей проєкту
Для перенесення проєкту на інший комп’ютер можна зберегти список бібліотек:
pip freeze > requirements.txt
Встановлення залежностей з файлу:
pip install -r requirements.txt
Деактивація середовища
Для виходу з віртуального середовища:
deactivate
Налаштування venv у VS Code
Для роботи з Python та Jupyter Notebook у VS Code рекомендується встановити розширення:
- Python (Microsoft)
- Jupyter (Microsoft)
Відкрити палітру команд:
Ctrl + Shift + P
Вибрати:
Python: Select Interpreter
Потім вибрати Python з вашого venv або вручну вказати шлях:
/home/user/venvs/jupyter/bin/python
Використання venv у Jupyter Notebook (.ipynb)
Щоб віртуальне середовище було доступне у notebook, потрібно зареєструвати kernel:
python -m ipykernel install --user --name=jupyter --display-name "Python (jupyter)"
Після цього у VS Code при відкритті .ipynb можна натиснути Select Kernel і вибрати потрібне середовище.
Типові проблеми
Помилка ensurepip is not available:
sudo apt install python3-venv
VS Code не бачить venv:
- Переконатися, що встановлені розширення Python і Jupyter.
- Вручну вибрати interpreter.
- Перезапустити VS Code.
Пакети не видно у notebook:
Переконатися, що встановлення відбувалося саме в активованому середовищі:
which pip
pip list
А також перевірити, що обраний правильний kernel у notebook.
Коментарі
Дописати коментар