Что найти?

Объяснение виртуальных сред в Python

/
/

Инструмент virtualenv создает изолированную среду в Python (в виде каталога), которая полностью отделена от общесистемной среды.

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

Это полезно, когда вы хотите получить чистый лист для своих проектов. Допустим, у вас установлена версия Boto 2.7.0 в пакетах сайтов, но для проекта, который вы только что запускаете, требуется более новая версия 2.38.0. Поскольку вы не можете установить обе версии для всего сайта, вам нужна среда Python, в которой зависимости будут разделены, для этого и предназначен инструмент virtualenv.

Почему VirtualEnv полезен?

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

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

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

Как использовать?

Виртуальные среды легко создавать в Python (и уничтожать), для этого требуется только пакет virtualenv, который можно установить с помощью:

$ pip install virtualenv

Чтобы создать новую виртуальную среду, вы, вероятно, захотите сделать что-то вроде этого:

$ virtualenv --no-site-packages myapp

Эта команда создаст следующую структуру каталогов:

  • myapp/
  • bin/;
  • include/;
  • lib/.

Использование флага —no-site-packages создает виртуальную среду, напоминающую чистую установку Python и не содержащую сторонних пакетов, а только стандартные пакеты.

Три перечисленных выше подкаталога содержат все исполняемые файлы Python, зависимости и пакеты, необходимые для разработки и запуска программ. Он также включает некоторые полезные инструменты, такие как pip и easy_install.

И, наконец, чтобы использовать конкретную виртуальную среду, активируйте ее с помощью:

Scotts-Computer:Projects: scott$ cd myapp/
Scotts-Computer:myapp scott$ source bin/activate
(myapp)Scotts-Computer:myapp scott$ 

Обратите внимание, что это префикс вашей командной строки с именем virtualenv (в данном случае (myapp)), что указывает на то, что ваша текущая среда является виртуальной средой myapp.

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

Чтобы прекратить использование виртуальной среды, просто отключите ее, запустив:

(myapp)Scotts-Computer:myapp scott$ deactivate
Scotts-Computer:myapp scott$

Заключение

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

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

This div height required for enabling the sticky sidebar