10 марта 2020

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

Библиотека программиста — ваш источник образовательного контента в IT-сфере. Мы публикуем обзоры книг, видеолекции и видеоуроки, дайджесты и образовательные статьи, которые помогут вам улучшить процесс познания в разработке.
Работаете с несколькими проектами на Python? С этим руководством вы не потонете в зависимостях. Рассказываем, как работать с виртуальным окружением с помощью pipenv и Anaconda.
Как создать виртуальное окружение в Python и перестать думать о зависимостях

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

В этой статье мы рассмотрим два варианта создания виртуального окружения: 1) при помощи Anaconda — дистрибутива c предустановленными популярными библиотеками, которым часто пользуются специалисты по работе с Big Data и 2) компактной библиотеки pipenv.

1. Pipenv

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

В качестве терминала в Windows возьмем на вооружение Git Bash, в MacOs – Homebrew, в Ubuntu – стандартный терминал.

1.1. Установка Pipenv

Создадим проект, используя команду mkdir new-project, которая создает папку с именем проекта new-project и перейдем в нее при помощи команды cd:

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

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

pip install pipenv

В MacOs:

brew install pipenv

В Ubuntu:

pip3 install pipenv

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

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

pipenv shell

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

1.3. Установка и удаление пакетов

В качестве примера установим пакеты requests и flask:

pipenv install requests

pipenv install flask

Результат установки:

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

В качестве примера удалим пакет flask:

pipenv uninstall flask

1.4. Выход из виртуального окружения

Для деактивации текущего окружения применим команду exit

2. Anaconda

У Anaconda свой менеджер разрешения зависимостей – conda, заменяющий стандартный менеджер пакетов pip. Также есть возможность создавать несколько изолированных окружений, чем сейчас и займемся.

2.1. Установка Anaconda

На сайте Anaconda выберите нужную ОС, версию Python, скачайте дистрибутив и установите Anaconda.

Забегая чуть вперед, если необходимо обновить Anaconda, откройте Anaconda Promt и введите команду conda update conda.

Существует два варианта запуска виртуального окружения:

  • Через графический интерфейс Anaconda Navigator.
  • Через командную строку Anaconda Promt.

В этом руководстве используется ОС Windows, но в других ОС процесс создания виртуального окружения такой же.

2.2. Создание окружения в Anaconda Prompt

Нажмите на иконку Windows, в поле поиска введите Anaconda Prompt, а затем нажмите Enter, чтобы открыть ее.

Введите команду conda, чтобы проверить успешность установки и ознакомиться с основными командами.

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

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

В следующей команде -n – флаг, создающий новое окружение с именем env и определенной версией Python 3.7

conda create -n env python=3.7

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

Активируем окружение:

conda activate env

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

2.2.3. Установка пакетов

Установим numpyчерез менеджер conda:

conda install -n env numpy

2.2.4. Список установленных пакетов

Посмотрим, какие пакеты установлены в виртуальном окружении:

conda list

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

2.2.5. Список всех виртуальных окружений

Список всех созданных окружений выводится командой conda env list:

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

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

Следующая команда деактивирует текущее окружение env и изменит его на base:

conda deactivate

2.2.7. Удаление виртуального окружения

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

conda env remove -n env

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

Убедимся, что окружение удалено, открыв список окружений:

conda env list

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

2.3. Создание окружения в Anaconda Navigator

Повторите шаги по установке виртуальной среды env

1. Нажмите на иконку Windows, в поле поиска введите Anaconda Navigator, а затем нажмите Enter.

2. Выберите вкладку Environments, где показано виртуальное окружение по умолчанию — base и созданная нами env.

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

3. Нажмите Create и заполните поля, как показано на картинке ниже.

Name: new-env

Packages: Python 3.7

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

4. Перейдите в new-env, выберете All и установите нужный пакет. В нашем случае — numpy.

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

5. Поменяйте текущее виртуальное окружение, например, на env.

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

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

Больше полезной информации вы можете получить на нашем телеграм-канале «Библиотека питониста». Рекомендуем также обратить внимание на учебный курс по Python от «Библиотеки программиста».

Источники

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Java Team Lead
Москва, по итогам собеседования
Senior Java Developer
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ