Рубрики
Без рубрики

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

Автор оригинала: Scott Robinson.

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

Что такое VirtualEnv?

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

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

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

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

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

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

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

Как вы используете VirtualEnv?

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

$ pip install virtualenv

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

$ virtualenv --no-site-packages myapp

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

  • myapp/
    • мусорное ведро/
    • включать/
    • либ/

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

Три подкаталога, перечисленные выше, содержат все исполняемые файлы 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) в данном случае), который указывает, что ваша текущая среда Python является виртуальной средой” myapp”.

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

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

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

Вывод

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

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