Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

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

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

Инструкция обновлена 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. Для активации виртуального окружения выполняем команду:
    

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

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

    
  1. Перед тем как использовать виртуальное окружение, его необходимо активировать. Это временно меняет переменные окружения текущей shell-сессии так, чтобы команды python и pip ссылались на версии внутри созданного виртуального окружения. Для активации окружения my-first-env выполняем команду внутри директории с проектом:
    

Image7

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

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

Image4

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

virtualenv

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

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

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

Image6

  1. Процессы активации и деактивации аналогичны при работе с venv. Для активации необходимо выполнить команду:
    

Image11

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

    

Image10

conda

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

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

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

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

    
  1. Скачиваем архив с программой при помощи утилиты wget:
    
  1. Выполняем автоматическую установку Miniconda при помощи команды:
    
  1. После завершения установки удаляем установочный скрипт:
    
  1. Далее инициализируем conda при помощи команд:
    
  1. Переходим в директорию с проектом и создаем новое виртуальное окружение:
    

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

Image8

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

Image5

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

    

Image1

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

    

Image2

UV

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

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

  1. Для начала необходимо установить UV. Для этого выполняем команду:
    

Image3

  1. Перед запуском UV необходимо добавить его бинарный файл в PATH:
    
  1. Прежде чем приступать к работе с UV, его необходимо инициализировать. Для этого выполняем команду:
    

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

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

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

  1. Создаем новую директорию и переходим в нее:
    
  1. Создаем виртуальное окружение при помощи команды: 
    

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

    
  1. Установим несколько пакетов при помощи менеджера пакетов pip (теперь пакеты будут устанавливаться внутрь созданного виртуального окружения, а не глобально):
    
  1. После того как работа над проектом завершена, необходимо сохранить зависимости в файл. Данная особенность позволяет легко воссоздать окружение на другом компьютере. Для сохранения зависимостей используется команда pip freeze, которой в качестве аргумента необходимо указать файл. Как правило используется файл requirements.txt, однако можно использовать любое другое имя:  
    
  1. Проверим содержимое файла requirements.txt:
    

Image9

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

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

Заключение

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

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