Рубріки: Основи

Модуль venv у Python: як встановити та налаштувати віртуальне середовище

Дмитро Сімагін

При розробці програми на мові Python часто виникає потреба в створенні ізольованого або віртуального середовища. Раніше це робили за допомогою інструменту virtualenv. Починаючи з версії Python 3.3, він входить у стандартну бібліотеку, виконуючи ті самі функції в модулі venv.

Сьогодні ми розглянемо, які переваги дає розробнику модуль venv, як з ним правильно працювати і чим він відрізняється від virtualenv.

Навіщо в Python потрібне віртуальне середовище

Згідно з офіційною документацією Python, віртуальне середовище — це одноразове оточення, яке не реєструється в Git і встановлене поверх базового середовища Python. За потреби його можна ізолювати від пакетів: всіх або тих, які обрані програмістом.

Віртуальне середовище необхідне для зберігання інтерпретатора, бібліотек і двійкових файлів, які потрібні для підтримки проекту. Його зазвичай розміщують у каталозі проекту під ім’ям venv або .venv, чи в каталозі контейнера, якщо таких середовищ у проекті декілька.

Як створити віртуальне середовище

Щоб створити віртуальне (ізольоване) середовище в Python, запустіть термінал і перейдіть до директорії, де міститься ваш проект. Після цього виконайте команду:

python -m venv ourenv

 

Назва ourenv — це назва вашого віртуального середовища. За бажанням ви можете вибрати будь-яке інше ім’я.

У Windows команда venv викликається ось так:

c:\>Python33\python -m venv c:\path\to\ourenv

 

Далі нам потрібно активувати середовище. Це робиться за допомогою команди:

myenv\Scripts\activate

 

Робота у віртуальному середовищі Python

Якщо активація пройшла успішно, то на початку рядка терміналу з’явиться назва віртуального середовища. У нашому випадку це ourenv. Далі потрібно встановити пакети. Для цього використовується команда pip. Як ви вже пам’ятаєте, оскільки ми працюємо в умовах віртуального середовища, пакети будуть встановлені лише в ньому:

pip install package_name

 

Завершивши роботу в проекті, потрібно деактивувати середовище. Це робиться простою командою deactivate.

Розширені параметри віртуального середовища

Можливості модуля venv не обмежені лише створенням віртуального середовища. Виходячи з вимог проекту, ви можете додати до нього різні параметри та налаштування. Наприклад, можна обрати версію інтерпретатора Python:

/usr/bin/python3.8 -m venv ourenv

 

У цьому фрагменті коду /usr/bin/python3.8 є шляхом до обраної вами версії Python.

Також ви можете використовувати у вашому ізольованому оточенні параметр –-system-site-packages. Він відкриває доступ до глобально встановлених пакетів Python. Це може бути корисним, якщо є потреба використовувати певні пакети без їх повторної установки у віртуальному середовищі.

python -m venv ourenv --system-site-packages

 

Параметр –symlinks або –copies

  • –symlinks: Використовує для збереження місця символічні посилання для файлів Python.
  • –copies: Копіює файли Python у віртуальне середовище.

Приклад із використанням символічних посилань:

python -m venv ourenv --symlinks

 

Приклад копіювання файлів:

python -m venv ourenv --copies

 

Параметр –clear

За допомогою цього параметра можна очистити існуюче віртуальне середовище перед його повторним створенням.

python -m venv ourenv --clear

 

Параметр –upgrade

Оновлює існуюче віртуальне середовище до актуальної версії Python.

python -m venv ourenv --upgrade

 

Приклад створення віртуального середовища з кількома параметрами

python3.9 -m venv ourenv --system-site-packages --copies

 

Тут ми створюємо ізольоване віртуальне оточення ourenv за версією Python 3.9, глобальні пакети та файли Python копіюються в середовище.

Як налаштувати віртуальне середовище в Python

Для керування залежностями проекту потрібний файл requirements.txt. Завдяки йому набагато простіше відтворити середовище на інших комп’ютерах і системах. Щоб створити цей файл, після встановлення обраних пакетів у вашому ізольованому середовищі виконайте команду:

pip freeze > requirements.txt

 

Тепер встановимо залежність від requirements.txt. Для цього на іншому комп’ютері або іншому віртуальному середовищі введіть:

pip install -r requirements.txt

 

Використання змінних оточення

Ви можете обрати особливі змінні оточення для вашого ізольованого середовища. Це робиться шляхом додавання в скрипти активації файлу activate.bat в директорії Scripts.

set MY_VARIABLE=value

 

Якщо вам потрібні додаткові шляхи для пошуку модулів, то для цього змініть змінну оточення PYTHONPATH.

export PYTHONPATH=/path/to/my/modules:$PYTHONPATH

 

Як створити віртуальне середовище за шаблоном

Ви можете помітно прискорити роботу з проектом, якщо навчитеся створювати ізольовані середовища за шаблоном. Це можна робити з усіма необхідними параметрами за допомогою скриптів Bash або PowerShell. Ось наочний приклад Bash-скрипту:

#!/bin/bash

# Створення віртуального середовища з певною версією Python
python3.9 -m venv myenv --system-site-packages --copies

# Активація віртуального середовища
source myenv/bin/activate

# Встановленняа залежностей
pip install -r requirements.txt

 

Все що вам потрібно, це зберегти цей скрипт під будь-якою назвою, наприклад, setup_env.sh, і зробити його виконуваним. Далі просто запустіть скрипт:

chmod +x setup_env.sh
./setup_env.sh

 

У чому різниця між venv і virtualenv?

Крім вбудованого модуля venv, в екосистемі Python є альтернативні інструменти для створення та роботи з віртуальними середовищами. Найбільш відомий серед них називається virtualenv.

По суті virtualenv — це просто застаріла версія venv. Але він має кілька плюсів: підтримує більше опцій і може використовуватися зі старими версіями Python. Встановлення virtualenv відбувається за командою:

pip install virtualenv

 

Створення віртуального середовища з virtualenv та додатковими параметрами:

virtualenv ourenv --python=python3.8 --always-copy

 

Висновок

Вміння створювати віртуальне (ізольоване) середовище за заданими параметрами дає можливість Python-розробнику більше гнучкості у налаштуванні оточення під вимоги проекту. Застосовуючи різні опції модуля venv або інші інструменти, можна забезпечити кращу ізоляцію та керованість проекту. Це стане важливим аспектом роботи програміста на Python, особливо при одночасної або командній роботі над кількома проектами.

Останні статті

Найдорожча імітація роботи в історії: розробники Amazon «годують» нейромережі сміттям заради показників

Співробітників компанії Amazon викрили у завищенні споживання токенів обробки даних в LLM для досягнення внутрішніх…

12.05.2026

OpenAI запускає Daybreak — послугу перевірки коду від кіберзагроз

Відповідь на Mythos від Anthropic не змусила себе чекати: компанія OpenAI оголосила про власну ініціативу…

12.05.2026

Китай хотів отримати доступ до Claude Mythos — в Anthropic категорично відмовили

На полях зустрічі в Сінгапурі, організованої вашингтонським Фондом Карнеґі, представник китайського аналітичного центру звернувся до…

12.05.2026

Помітити пастку майже неможливо: хакери розгорнули атаку через чати Claude

Кіберзлочинці розгорнули активну кампанію зі шкідливою рекламою, в якій задіяли одразу два інструменти — платні…

12.05.2026

Крах амбіцій Маска: як Grok став аутсайдером гонки штучного інтелекту

Проєкт штучного інтелекту Grok від Ілона Маска стрімко втрачає позиції у глобальній гонці технологій. Поки…

12.05.2026

Нова версія GitHub Mobile дозволяє створювати репозиторії зі смартфона

Сервіс спільної розробки GitHub нарешті закрив одну з найбільш довгоочікуваних прогалин у своєму мобільному застосунку:…

12.05.2026