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

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

Python используется в таких сферах, как:

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

Что такое виртуальное окружение Python

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

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

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

  1. Изоляцию зависимостей. Каждое виртуальное окружение имеет собственный независимый набор зависимостей и пакетов, что позволяет избежать конфликты между различными версиями пакетов.
  2. Управление версиями Python. Вы можете создавать и использовать различные версии Python в разных виртуальных окружениях, переключаясь между версиями, а также тестируя совместимость кода с новыми версиями Python.
  3. Чистоту проекта. Виртуальное окружение помогает поддерживать проект организованным, так как все зависимости и пакеты проекта хранятся в отдельной директории. Это упрощает управление и развертывание проектов.
  4. Переносимость. Вы можете передать виртуальное окружение на другую машину или другим разработчикам, что позволяет вести совместную работу над проектом.

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

Услуга VPS/VDS хостинг на Linux подойдет для проектов любой сложности: 

  • разработка приложений,
  • создание почтового сервера,
  • размещение интернет-магазина,
  • развертывание продуктов 1С,
  • размещение CRM-систем.

Создание виртуальной среды Python

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

Для создания виртуального окружения в Python рекомендуем использовать встроенный модуль venv. Если вы используете версию Python 3.3 или выше, то модуль venv уже включен в стандартную библиотеку и его установка не требуется. Для установки модуля в более ранних версиях Python выполните команду:

pip install virtualenv

Далее следуйте инструкции:

  1. Откройте командную строку и перейдите в каталог, в котором будет создана виртуальная среда.
  2. Выполните команду:

python -m venv virt_name

где virt_name – имя вашей виртуальной среды.

  1. Дождитесь завершения процесса создания виртуальной среды. Это может занять некоторое время.
  2. Ваша виртуальная среда будет создана в папке virt_name. В ней же будут находиться все файлы и зависимости, связанные с виртуальной средой.

Активация виртуальной среды Python

Процесс активации виртуальной среды может быть выполнена различными способами в зависимости от используемой операционной системы и инструментов виртуализации.    

Активируйте виртуальное окружение с помощью команд:

  • Для Windows: .\Scripts\activate
  • Для macOS и Linux: source bin/activate

При успешной активации на экране отобразится:

 (venv) root@purplegate:/var/test#

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

Если вы используете инструмент управления пакетами, такой как pipenv или poetry, вы можете создать и активировать виртуальную среду одной командой.

  • Для pipenv: pipenv shell
  • Для poetry: poetry shell

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

Автоматическая активация виртуальной среды Python

Для включения автоматической активации виртуальной среды при открытии терминала или командной строки, вам потребуется внести следующие изменения в файл конфигурации вашей оболочки (например, .bashrc для Bash или .zshrc для Zsh).

Приведем пример для оболочки Bash:

  1. Откройте файл конфигурации в текстовом редакторе и введите в терминале:

nano ~/.bashrc

  1. В конце файла добавьте следующую строку, указывающую на активацию вашей виртуальной среды:

source /path/to/your/virtual/environment/bin/activate

Замените /path/to/your/virtual/environment на путь к вашей виртуальной среде Python (например, /home/user/virt_name).

  1. Сохраните изменения и закройте файл конфигурации.
  2. Обновите текущую сессию оболочки, чтобы изменения вступили в силу:

 source ~/.bashrc

Замените `~/.bashrc` на путь к вашему файлу конфигурации, если он отличается.

Теперь при открытии нового терминала или командной строки ваша виртуальная среда Python будет автоматически активирована. Это позволит использовать установленные в этой среде библиотеки и исполнять команды Python без необходимости активации вручную.

Деактивация виртуального окружения Python

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

Если вы работаете на операционной системе Windows, то вам необходимо использовать команду:

Scripts\deactivate

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

Заключение

Настройка виртуальной среды в Python дает ряд преимуществ и часто рекомендуется разработчикам при выполнении проектов на Python. Чем может быть полезна виртуальная среда:

  1. Позволяет создавать отдельную изолированную среду для каждого проекта. Вы можете устанавливать и управлять зависимостями (библиотеки и пакеты) вашего проекта в изолированной среде, не влияя на другие проекты или систему в целом. 
  2. С ее помощью создаются чистые и стабильные окружения для разработки и выполнения проектов. Начать работу можно с чистой виртуальной среды: установить только необходимые зависимости, избегая конфликтов между зависимостями других проектов. Это поможет снизить вероятность возникновения ошибок и облегчит управление зависимостями.
  3. Виртуальное окружение создает единообразную среду для вашего проекта, независимо от операционной системы или окружения разработки. Вы можете легко перенести ваш проект на другую машину или дать другим пользователям работать с вашим проектом. 
  4. Управление версиями Python. Вы можете создавать и использовать разные виртуальные среды для различных версий Python, позволяя тестировать и разрабатывать проекты на разных версиях языка.

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

Всё ещё остались вопросы?