Задать вопрос
Все статьи / Хостинг / Скрипты / Python / Как создать виртуальное окружение в Python
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

apple banana
Найти записи, которые содержат хотя бы одно из двух слов.

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

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

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

Виртуальное окружение (Virtual Environment) – это изолированная среда, которая создается для разработки и выполнения программного обеспечения. Она позволяет разработчикам изолировать зависимости, библиотеки и пакеты для каждого проекта, таким образом, минимизируя конфликты между различными проектами.

Основные концепции виртуальных окружений:

  1. Изоляция. Виртуальная среда создается отдельно от системной среды, что позволяет избежать конфликтов между зависимостями разных проектов. Каждое виртуальное окружение содержит свой собственный набор библиотек и зависимостей.
  2. Воспроизводимость. Виртуальные окружения обеспечивают воспроизводимость окружения разработки. Это значит, что другие разработчики могут создать аналогичное окружение и точно воспроизвести вашу среду разработки, что делает совместную работу и развертывание проектов более надежными.
  3. Управление зависимостями. Вы можете легко устанавливать, обновлять и удалять зависимости внутри виртуального окружения, не затрагивая системные зависимости. Так, можно легко управлять версиями библиотек и пакетов, которые используются в вашем проекте.
  4. Инструменты для создания. Существуют различные инструменты для создания и управления виртуальными окружениями: «virtualenv» для Python, «venv», «conda», и другие.
  5. Использование в разработке. Виртуальные окружения особенно полезны в разработке, где разработчики могут иметь несколько проектов, каждый из которых зависит от разных версий библиотек и фреймворков.

Применение виртуальных окружений особенно распространено в разработке на Python, где «virtualenv» или встроенный модуль «venv» используются для создания изолированных сред разработки. Однако идея виртуальных окружений применима и в других языках программирования, где они также помогают в управлении зависимостями и изолировании среды разработки.

Как создать виртуальное окружение в Python 3 с помощью venv 

Шаг 1. Подготовьтесь к созданию

Windows: 

Вам не нужно отдельно устанавливать «venv» на Windows, так как этот пакет уже включен в стандартную библиотеку Python 3 и поставляется вместе с самим интерпретатором.

Linux / macOS:

Однако с Linux и macOS ситуация может быть немного иной, так как «venv» не всегда входит в стандартные пакеты операционной системы. В таких случаях вам может потребоваться установить его самостоятельно. 

Например, на Ubuntu и Debian вы можете установить «venv» с помощью следующей команды:

sudo apt install -y python3-venv

Иногда некоторым Python-пакетам может потребоваться сборка из исходных кодов, поэтому важно установить следующие пакеты для разработки:

sudo apt install -y build-essential libssl-dev libffi-dev python3-dev

Теперь мы рассмотрим, как создавать виртуальное окружение Python 3 с использованием инструмента «venv» в Windows, macOS и Linux.

Шаг 2. Запустите venv

Чтобы создать виртуальное окружение, выполните следующие шаги:

  1. Откройте командную строку (Windows) или терминал (Linux/macOS)
  2. Перейдите в каталог, в котором вы хотите создать виртуальное окружение.
  3. Выполните следующую команду для создания виртуального окружения:

python -m venv env


Где «env» – это имя вашего виртуального окружения, и вы можете выбрать любое имя):

Эта команда создаст виртуальное окружение с выбранным именем в текущем каталоге.

Шаг 3. Активируйте виртуальную среду

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

Windows:

На Windows вам нужно выполнить следующую команду:

venv\Scripts\activate.bat

Linux / macOS:

На Linux и macOS, для активации виртуального окружения используется другая команда:

source venv/bin/activate

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

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

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

Другие инструменты

Конечно, «venv» – это современный инструмент для создания виртуальных сред в Python, но он доступен только начиная с версии Python 3. 

Однако, что делать тем, кто использует более старые версии Python? В этом случае существуют альтернативные инструменты, которые не только обладают различными полезными функциями, но и могут использоваться в старых версиях языка. 

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

  1. «virtualenv» – это инструмент для создания изолированных Python-окружений. Он позволяет вам создавать отдельные окружения для каждого проекта, чтобы избежать конфликтов зависимостей между различными проектами. В дальнейшем мы предоставим инструкцию по его использованию.
  2. «pyenv» – это инструмент для управления установками различных версий интерпретатора Python на вашей системе. Он предоставляет возможность легко переключаться между разными версиями Python, устанавливать новые версии, а также управлять версиями Python для конкретных проектов.

В отличие от «virtualenv», который создает изолированные окружения для проектов, «pyenv» фокусируется на управлении самими версиями Python.

  1. «virtualenvwrapper» – это расширение для «virtualenv», которое предоставляет удобные инструменты для управления виртуальными окружениями в Python. Он упрощает создание, удаление и переключение между виртуальными окружениями, а также предоставляет дополнительные функции для более удобной работы с проектами. 

«Virtualenvwrapper» удобен, так как позволяет легко переключаться между виртуальными средами и использовать различные плагины для расширения его функциональности.

Выбор инструмента зависит от ваших конкретных потребностей и версии Python, с которой вы работаете. Наиболее популярным и универсальным вариантом является «virtualenv», а потому ниже мы описали инструкцию по его использованию.

Как создать виртуальное окружение при помощи virtualenv

Рассмотрим этот процесс на примере операционной системы Linux. Тем не менее запуск «virtualenv» в Windows выполняется практически таким же образом. Единственное отличие заключается в путях, которые будут использованы, и в скриптах. Но это мы рассмотрим отдельно.

  1. Вы можете загрузить исходные коды приложения и установить их вручную, но проще всего воспользоваться менеджером «pip». 

В этом случае достаточно выполнить следующую команду в консоли:

pip install virtualenv

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

virtualenv env

Где «env» – это имя вашего виртуального окружения. Вы можете выбрать любое имя.

Эта простая команда создаст новый каталог в текущем местоположении. 

Далее рассмотрим структуру созданной директории:

  • Linux/macOS: В «/env/bin» будут находиться скрипты для работы с окружением, копия интерпретатора нужной версии, а также «pip» и другие инструменты для управления пакетами. 
  • Windows: Если вы используете Windows, то эта папка будет иметь другой путь: «/env/Scripts».
  • Директории «/env/lib» и «/env/include» предназначены для хранения основных библиотек окружения. Новые файлы будут загружаться в «/env/lib/pythonX.X/site-packages/», где X.X – версия вашего интерпретатора Python.
  1. Активируйте виртуальную среду. В разных операционных системах для этого есть разные команды:

Linux/macOS:

source env/bin/activate

Windows:

env\Scripts\activate.bat

Где «env» – это имя вашего виртуального окружения. Вы можете выбрать любое имя.

При успешной активации в начале появившейся строки вы увидите название вашей виртуальной среды:

  1. Если создать виртуальную среду с использованием ключа «--system-site-packages», то вы получите доступ к общему хранилищу пакетов в рамках вашей среды. 

Для этого используется следующая команда:

virtualenv --system-site-packages env

Важно отметить, что путь к хранилищу будет разным в Linux и Windows. 

Linux

/usr/lib/python3.9/site-packages

Windows

\Python39\Lib\site-packages 

Цифры версии могут отличаться.

  1. После завершения работы с программой необходимо правильно выйти из виртуальной среды. 
  • В Linux это делается командой «deactivate».
  • В Windows с использованием пакетного файла – «deactivate.bat».

Какие еще есть инструменты

Помимо упомянутых ранее модулей «venv» и «virtualenv», существуют более современные инструменты, которые обеспечивают более гибкое управление проектами на Python, включая работу с виртуальными окружениями:

Poetry

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

Преимущества:

  1. Poetry берет на себя всю рутинную работу с библиотеками внутри виртуальной среды, включая установку, обновление и публикацию. Это особенно полезно, когда вам оказывается мало возможностей «pip». 
  2. Создание и упаковка приложения реализованы при помощи всего одной команды.
  3. Кроме того, команда «poetry init» позволяет инициализировать проект в уже созданной директории, и её можно выполнить прямо из этой директории.
  4. Poetry также поддерживает публикацию проектов в частных репозиториях, отслеживание зависимостей, а также контроль их версий.
  5. Этот инструмент облегчает работу на собственных виртуальных серверах, обеспечивая надежную изоляцию проектов. 

Для начала работы с Poetry вам нужно установить его на своей системе. Вы можете сделать это с помощью команды:

pip install poetry

После установки вы можете создать новый проект с помощью команды «poetry new» и начать использовать Poetry для управления вашим проектом:

poetry new project

Где «project» – это название вашего проекта. 

Pipenv

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

Он объединяет функции управления виртуальными окружениями с помощью «virtualenv» и управления зависимостями с использованием «pip».

Преимущества:

  1. Pipenv использует файлы «Pipfile» и «Pipfile.lock» для отслеживания зависимостей вашего проекта. В «Pipfile» вы определяете зависимости и их версии, а «Pipfile.lock» содержит точные версии зависимостей для воспроизводимости среды и позволяет закреплять версии библиотек, что важно для безопасности разрабатываемых приложений. 
  2. Он автоматически создает виртуальное окружение для каждого проекта. Это позволяет изолировать зависимости проекта от системных библиотек и других проектов.
  3. Pipenv стремится сделать управление зависимостями более простым для разработчиков, предоставляя четкое и удобочитаемое API.
  4. Pipenv использует pip для установки пакетов, поэтому он совместим с уже существующими инструментами и репозиториями Python.

Для начала работы с Pipenv в вашем проекте нужно установить его на своей системе:

pip install pipenv

Затем вы можете создать новый проект с помощью команды:

pipenv install

Это создаст виртуальное окружение и установит зависимости, определенные в файле Pipfile.

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

Заключение

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

Использование инструментов «virtualenv», «venv», «virtualenvwrapper», «Poetry» или «Pipenv» предоставляет разработчикам гибкость и удобство в управлении окружением, а также обеспечивает порядок в каждом проекте. Выбор подходящего инструмента зависит от конкретных потребностей проекта и ваших предпочтений.

Предыдущая статья
Как быстро применяются изменения в коде при использовании WSGI?
Следующая статья
Нейросеть на Python