<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Публичное облако на базе VMware с управлением через vCloud Director
Вход / Регистрация

Как создать виртуальное окружение в Python: инструкция

79766
7 минут чтения
Средний рейтинг статьи: 3.4

Инструкция обновлена 27 августа 2025 года

Виртуальное окружение (virtual environment) — это не просто полезный, а практически обязательный инструмент для Python-программиста. Его основная задача — создание изолированного пространства для работы над конкретным проектом, что позволяет управлять его зависимостями, не влияя на другие проекты или глобальную установку Python.

Предположим, вы разрабатываете два приложения. Для первого необходима устаревшая, но стабильная версия фреймворка Django 2.2, а для второго — современная версия 4.0. При установке в общее системное окружение более новая версия автоматически заместит старую, что приведет к поломке первого проекта. Виртуальное окружение полностью устраняет этот конфликт, предоставляя каждому проекту его собственную «песочницу». По своей сути, это автономная директория, которая содержит:

  • Собственную копию интерпретатора Python (или ссылку на него).
  • Независимый менеджер пакетов pip.
  • Все библиотеки и зависимости, которые вы устанавливаете исключительно для этого проекта.

Виртуальное окружение позволит: 

  • Изолировать зависимости проектов: У каждого проекта свои версии библиотек, которые не зависят друг от друга.
  • Избежать конфликтов: Любые установки или обновления пакетов в одном проекте не затронут другой.
  • Упростить развертывание: Можно легко воссоздать точное окружение на другом компьютере или сервере.
  • Работать без прав администратора: Устанавливать пакеты можно без системных привилегий.

В этой статье мы подробно рассмотрим, как создать и использовать виртуальное окружение в Python.

Способы создания виртуального окружения

Существует несколько инструментов для создания виртуальных окружений. Мы проанализируем четыре ключевых инструмента, каждый со своими особенностями: venv, virtualenv, conda и UV. Запускать окружения будем на облачном сервере Timeweb Cloud с использованием ОС Ubuntu.

venv

Начиная с Python 3.3, разработчикам больше не нужны сторонние инструменты вроде virtualenv для создания изолированных сред. Стандартная библиотека языка включает в себя модуль venv, который признан наиболее удобным и предпочтительным методом для этой задачи.

Создание окружения

  1. Открываем терминал и переходим в директорию с Python-проектом.
  2. Для активации виртуального окружения выполняем команду:
python -m venv my-first-env

Здесь my-first-env — это имя папки, в которой будет создано виртуальное окружение. Его можно назвать как угодно. Часто используются имена venv, .venv, env.

Команда создаст папку my-first-env со следующей структурой:

├── my-first-env/      # Директория виртуального окружения
│   ├── bin/                 # Исполняемые файлы
│   │   ├── python           # Интерпретатор Python
│   │   ├── python3          # Ссылка на python
│   │   ├── pip              # Менеджер пакетов
│   │   ├── pip3             # Ссылка на pip
│   │   ├── activate         # Активация для bash
│   │   ├── activate.csh     # Активация для csh
│   │   └── easy_install*    # Установщик пакетов
│   ├── include/             # C-заголовки для компиляции
│   ├── lib/                 # Установленные пакеты
│   │   └── python3.X/       # Используемая версия Python 
│   │       └── site-packages/
│   │           ├── pip/     # Пакет pip
│   │           ├── setuptools/
│   └── pyvenv.cfg          # Конфигурация окружения
  1. Перед тем как использовать виртуальное окружение, его необходимо активировать. Это временно меняет переменные окружения текущей shell-сессии так, чтобы команды python и pip ссылались на версии внутри созданного виртуального окружения. Для активации окружения my-first-env выполняем команду внутри директории с проектом:
source my-first-env/bin/activate

Image7

При успешной активации в начале строки терминала отобразится приглашение с именем окружения.

  1. Для деактивации виртуального окружения используется команда:
deactivate

Image4

После этого имя окружения слева пропадет. Команду по деактивации виртуального окружения можно выполнять из любого места в файловой системе.

virtualenv

virtualenv — популярный сторонний инструмент, который предлагает больше функций и немного быстрее. Также virtualenv можно использовать для создания окружений для более старых версий Python (например, Python 2.5).

Создание окружения

  1. В отличие от venv, virtualenv необходимо установить заранее. Произведем установку при помощи пакетного менеджера операционной системы. Так как мы используем Ubuntu, то воспользуемся менеджером apt для установки пакета:
apt install python3-venv -y
  1. Далее переходим в папку с проектом Python и создаем виртуальное окружение с именем my-second-env:
virtualenv my-second-env

Image6

  1. Процессы активации и деактивации аналогичны при работе с venv. Для активации необходимо выполнить команду:
source my-second-env/bin/activate

Image11

Для деактивации достаточно выполнить:

deactivate

Image10

conda

conda — это кроссплатформенный менеджер пакетов и окружений. Он управляет не только Python-пакетами, но и, например библиотеками на C/C++.

Создание окружения

  1. Мы установим пакет Miniconda, которая содержит в себе предустановленный набор из более чем 1500 самых популярных пакетов для data science. 

Для начала создадим директорию с именем miniconda3 в домашнем каталоге пользователя:

mkdir -p ~/miniconda3
  1. Скачиваем архив с программой при помощи утилиты wget:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
  1. Выполняем автоматическую установку Miniconda при помощи команды:
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
  1. После завершения установки удаляем установочный скрипт:
rm ~/miniconda3/miniconda.sh
  1. Далее инициализируем conda при помощи команд:
source ~/miniconda3/bin/activate
conda init --all
  1. Переходим в директорию с проектом и создаем новое виртуальное окружение:
conda create --name my-conda-env

При появлении надписи Proceed ([y]/n)? вводим y:

Image8

После того как виртуальное окружение будет создано, в выводе будут сгенерированы команды для активации и остановки окружения: 

Image5

В нашем примере для активации необходимо выполнить команду:

conda activate my-conda-env

Image1

Для деактивации используется команда:

conda deactivate

Image2

UV

UV — это современный инструмент, написанный на языке Rust, который заменяет собой целый набор утилит для управления зависимостями и виртуальными окружениями в Python.

Создание окружения

  1. Для начала необходимо установить UV. Для этого выполняем команду:
curl -LsSf https://astral.sh/uv/install.sh | sh

Image3

  1. Перед запуском UV необходимо добавить его бинарный файл в PATH:
source $HOME/.local/bin/env
  1. Прежде чем приступать к работе с UV, его необходимо инициализировать. Для этого выполняем команду:
uv init uv-test-project

И переходим в созданную директорию:

cd uv-test-project
  1. Создаем виртуальное окружение:
uv venv
  1. Для активации выполняем команду:
source .venv/bin/activate
  1. Установить пакет можно при помощи команды:
uv add requests

Использование виртуального окружения на практике — на примере venv

  1. Создаем новую директорию и переходим в нее:
mkdir test-env && cd test-env
  1. Создаем виртуальное окружение при помощи команды: 
python -m venv test-env

Далее активируем:

source test-env/bin/activate
  1. Установим несколько пакетов при помощи менеджера пакетов pip (теперь пакеты будут устанавливаться внутрь созданного виртуального окружения, а не глобально):
pip install requests numpy pandas
  1. После того как работа над проектом завершена, необходимо сохранить зависимости в файл. Данная особенность позволяет легко воссоздать окружение на другом компьютере. Для сохранения зависимостей используется команда pip freeze, которой в качестве аргумента необходимо указать файл. Как правило используется файл requirements.txt, однако можно использовать любое другое имя:  
pip freeze > requirements.txt
  1. Проверим содержимое файла requirements.txt:
cat requirements.txt

Image9

В файл были записаны все используемые сторонние библиотеки, а также их версии.

  1. Чтобы восстановить зависимости на новом устройстве при переносе или копировании проекта, необходимо выполнить команду:
pip install -r requirements.txt

Заключение

Виртуальное окружение в Python стало незаменимым инструментом в процессе разработки. Возникает вопрос: какой же инструмент выбрать?

  • Для большинства проектов используйте стандартный venv или более продвинутый UV.
  • Если нужны дополнительные функции или работа с Python 2, используйте virtualenv.
  • Если вы занимаетесь Data Science, то используйте экосистему Conda.
79766
7 минут чтения
Средний рейтинг статьи: 3.4
Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
Пока нет комментариев