Сервер AMD Ryzen 7950X — 12 000 ₽ в мес. или 17 ₽ в час ⭐ 16 ядер, 4,5 ГГц / 128 ГБ RAM / 4 ТБ NVMe

20.12.2024

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

server one
HOSTKEY

1. Что такое виртуальное окружение?

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

Виртуальное окружение — это изолированная среда, позволяющая устанавливать и использовать пакеты Python отдельно от глобальной установки. Представьте виртуальное окружение как отдельный рабочий стол для каждого проекта. Вы можете установить необходимые библиотеки и модули только в этом окружении, не беспокоясь о влиянии на другие проекты или вашу глобальную систему Python.

Это особенно важно при работе с проектами, использующими разные версии библиотек. Без виртуальных окружений вы рискуете столкнуться с конфликтами версий и неожиданными ошибками. Например, проект A может требовать Flask 2, а проект B — Flask 3. Виртуальные окружения позволяют установить разные версии библиотек для каждого проекта, обеспечивая независимость и стабильность работы.

2. Где и как виртуальное окружение сохраняет зависимости?

При создании виртуального окружения оно создает отдельную папку (по умолчанию venv), где хранятся все установленные пакеты и конфигурации. Обычно оно создается в домашней директории пользователя, так как не рекомендуется создавать и работать в виртуальных окружениях от root.

Путь Содержимое
venv/bin Содержит исполняемые файлы Python, pip и другие инструменты для работы с виртуальным окружением.
venv/lib Хранит библиотеки Python и модули, установленные в окружении.
venv/env Путь до конфигураций виртуального окружения: версии Python, установленных пакетов и других настроек.

3. Сравнение с глобальными установками пакетов

Можно возразить, что проще поставить пакеты непосредственно в операционную систему и не мучаться с виртуальными окружениями. На первый взгляд это так, но глобальная установка пакетов из репозиториев имеет свои существенные недостатки:

  • Конфликты версий.

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

  • Загрязнение системы.

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

Виртуальные окружения решают эти проблемы, так как предоставляют:

  • Изоляцию проектов.

    Каждое виртуальное окружение имеет свою копию зависимостей, что предотвращает конфликты версий. Проект A может использовать версию 2.0 библиотеки numpy, а проект B — версию 2.2 без возникновения конфликтов.

  • Оптимизацию ресурсов.

    Только необходимые библиотеки устанавливаются в конкретное виртуальное окружение, экономя место и ресурсы системы. Не нужно скачивать и хранить все пакеты на компьютере, что ускоряет работу системы и освобождает место на диске.

  • Упрощение работы с пакетами.

    Виртуальные окружения позволяют легко управлять зависимостями для каждого проекта. Можно легко установить, удалить или обновить пакеты только в конкретном виртуальном окружении без влияния на другие проекты.

Кроме вышеуказанных преимуществ виртуальные окружения представляют:

  • Повышенную безопасность.

    Виртуальные окружения изолируют проекты друг от друга, что снижает риск заражения системы вредоносным ПО.

  • Упрощение процесса деплоя.

При развертывании проекта на сервере можно легко скопировать директорию с виртуальным окружением и быть уверенным, что все необходимые зависимости будут доступны после его активации на новой машине. Если вы посмотрите на крупные Python-проекты, то зачастую они как раз распространяются в виде виртуальных окружений (или создают их при развертывании).

4. Как создать виртуальное окружение?

Создание виртуального окружения в Ubuntu

Для начала нужно проверить, какая версия Python установлена в системе:

Python3-version

В Ubuntu 22.04 по умолчанию установлен Python 3.10.

Затем нужно установить пакет для поддержки виртуального окружения:

sudo apt install python3-venv

После можно создать виртуальное окружение командой:

python3 -m venv my_project_env

Замените my_project_env на желаемое имя вашего виртуального окружения.

Создание виртуального окружение в Windows

Откройте командную строку. Для этого нажмите Win+R, введите cmd и нажмите Enter.

Используя команду cd перейдите в директорию вашего проекта:

cd C:\Users\YourUserName\Documents\MyProject

Создайте виртуальное окружение с именем my_project_env.

python -m venv my_project_env

5. Активация окружения

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

  1. Linux/macOS:

    source my_project_env/bin/activate
  2. Windows:

    my_project_env\Scripts\activate

В активном окружении имя вашего виртуального окружения будет отображаться в начале командной строки.

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

  • Неправильный путь к исполняемому файлу.
  • Если вы не укажете правильный путь к исполняемому файлу Python при активации виртуального окружения (например source venv/bin/activate), система может не распознать его и выдаст ошибку.
  • Недостающие права доступа.
  • Если у вас недостаточно прав на запись в каталог, где создано виртуальное окружение, вы не сможете активировать его.
  • Несовместимость Python-версий.
  • Активация виртуального окружения может привести к конфликту, если используемая версия Python в окружении не совместима с установленными версиями в системе.
  • Проблемы с конфигурацией.
  • Если у вас есть проблемы с конфигурацией виртуального окружения или файлами установщика (например pip), это может привести к ошибкам при активации виртуального окружения.
  • Неправильный путь к файлу активации.
  • Если вы активируете виртуальное окружение с неправильным путем к файлу активации (activate), система не сможет найти его и выдаст ошибку.
  • Неправильно установленные пакеты.

Если пакеты были неправильно установлены в виртуальное окружение, это может привести к ошибкам при запуске проекта.

6. Деактивация окружения

Чтобы выйти из активного виртуального окружения, используйте команду deactivate. Приглашение командной строки вернет свой вид на прежний, как при логине под обычным пользователем.

7. Как использовать другую версию Python в виртуальном окружении

Как было описано ранее, вы можете установить виртуальные окружения для разных версий Python. Давайте создадим виртуальное окружение для Python 3.11.

Установите Python 3.11 и пакеты поддержки виртуального окружения для этой версии

sudo apt install python3.11
sudo apt install python3.11-venv

Создайте виртуальное окружение для этой версии Python

python3.11 -m venv my_project_311env

Активируйте виртуальное окружение:

source my_project_311env/bin/activate

Проверьте версию Python внутри виртуального окружения:

python-version

Затем выйдите из виртуального окружения командой deactivate и зайдите в окружение my_project_env. Проверьте там версию Python:

Теперь у вас есть два разных виртуальных окружения с разными версиями Python.

Другие статьи

12.02.2026

WordPress с OpenLiteSpeed vs классический LEMP: реальные бенчмарки

OpenLiteSpeed разрывает LEMP по скорости: до 10x больше RPS и TTFB в 35 раз ниже. Но при 500 одновременных подключениях он падает. Проверили на реальных серверах и нагрузочных тестах.

02.02.2026

Тестирование GPU-карты AMD RADEON AI PRO R9700

Мы проверили Radeon AI PRO R9700 с 32 Гб памяти на реальных задачах: LLM, генерация графики и видео, 3D-рендеринг, и сравнили с NVIDIA. Результат оказался неоднозначным.

26.01.2026

Что раздражает коллег, но никто об этом не говорит: 8 вредных привычек в IT

Вы можете быть сильным специалистом и все равно создавать сложности для коллег. Разбор восьми самых частых сценариев из жизни IT-команд.

16.01.2026

От железа к облаку и обратно - кейсы миграции

Миграции идут в обе стороны, и «правы» обычно все, но по разным причинам. В статье: кейсы с цифрами, гибридные сценарии и типовые ошибки, которые превращают экономию в убытки.

13.01.2026

Как запустить 4 независимые нейросети на одном GPU (16 ГБ) под FastAPI

Если кажется, что 16 ГБ VRAM мало для продакшн-ML, вот практический контрпример: четыре независимые модели под FastAPI на одном GPU.

Upload