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 от «Библиотеки программиста».

Источники

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Senior Java Developer
Москва, по итогам собеседования
Разработчик С#
от 200000 RUB до 400000 RUB

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