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

Простые среды Python для науки о данных 🐍

Введение начинающих в виртуальную среду и упаковку Python с учетом потребителя Data Science. Tagged с начинающими, Python, средами, Conda.

Среда Python уже давно стала одной из самых запутанных и раздражающих частей рабочего потока Python для ученых данных (или всех на самом деле). Отсутствие четкого и краткого объяснения окружающей среды недавно было доведено до моего внимания этим твитом:

Пока я не Джейк Вандерплас Я тот, кто всегда боролся со средами Python и определенно видит необходимость четкого и краткого объяснения окружающей среды. Здесь вы найдете простое руководство, объясняющее, что такое виртуальные среды и как заставить их работать.

Цели

  1. Объясните, что виртуальная среда – это ❓
  2. Объясните, как создавать и использовать виртуальные среды 😆
  3. Получите ноутбук Jupyter, работающий в виртуальной среде 😎

WTF – виртуальная среда

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

Pip : Инструмент Python для установки пакетов из Python Package Index (Pypi )

Conda : Диспетчер пакетов для распределения Python Anaconda, который быстро стал Defacto для науки о данных из-за его удобства пользователя ( Отказ от ответственности: я использую Anaconda в качестве распределения Python )

Это может быть просто установить пакеты с этими инструментами (иногда), но мы все стали ужасными и запутанными Pip -ошибки! . Существует также проблема пакетов, которые требуют разных версий той же зависимости или пакетов, которые даже не работают с версией Python, которую вы используете.

Вот где виртуальные среды пригодятся.

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

Создание и использование виртуальных средств

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

Анаконда

Анаконда использует Conda менеджер пакетов. Conda Имеет очень простой API для создания сред.

$ conda create --name  python=

Эта команда создаст новую среду, расположенную внутри каталога Anaconda ~/anaconda/envs/[имя среды]/ Анкет При создании среды Anaconda вы можете включить имена пакетов в качестве аргументов:

$ conda create --name test_env --python=3 numpy pandas scikit-learn

Это создаст новую среду под названием Test_env The Packages Numpy, Pandas и Sklearn уже установлены. Чтобы использовать новую блестящую среду, которую вы только что создали, вы просто запускаете:

Mac/linux: $ Source Activate <Название среды>

Windows: $ активировать <Название среды>

Когда вы находитесь в среде Conda, вы можете Conda Install Любые необходимые пакеты или если эти пакеты не доступны по каналам Conda, вы также можете PIP установка пакеты, как вы обычно.

Чтобы просмотреть установленные пакеты в вашей текущей среде, вы можете запустить Список конда который распечатает пакеты.

Как я узнаю, в какой среде я в

Чтобы просмотреть все ваши среды запустить команду Конда Информация -e который вернет список ваших сред и поместит звезду рядом с текущей средой. Когда вы активируете свою виртуальную среду, это изменит вашу подсказку, так что название вашего виртуального времени в начале вашей подсказки.

Здесь я активирую свою среду Conda дл и бег Конда Информация

Пипенв

Если у вас есть враждебность к авторитарным открытым источникам или просто вы хотите работать с прямыми пакетами PYPI, в Pure Python появится новый вариант. Pipenv Это новый крутой ребенок в блоке для управления виртуальными средами Python, предоставленным Кеннет Рейтц Анкет В отличие от Anaconda, которая ориентирована на научные вычисления, Pipenv построен с учетом разработки Python, в частности, сети. Это означает, что он не имеет никаких встроенных функций, но работает невероятно хорошо и довольно прост в использовании, плюс у него действительно красивый CLI. Pipenv построен, чтобы быть заменой для пип и Virtualenv Чтобы создать более простой рабочий процесс для создания среда в Python.

Создать среду очень просто:

$ pipenv install 

Вот и все! Это создает виртуальную среду и устанавливает указанные пакеты. Несколько вещей, которые следует отметить, здесь, в отличие от создания среды в Анаконде, не существует названия. Окружающая среда просто воспользуется названием каталога, в котором он создан.

Чтобы активировать среду, вы просто запустите Pipenv Shell Внутри каталога проекта И Виола вы в своем блестящем новом Pipenv. Чтобы установить новые пакеты в вашу среду, просто запустите Pipenv Install [имя пакета] в то время как проект активен.

Pipenv будет хранить информацию о пакете в файле под названием A Pipfile это будет выглядеть примерно так:

$ pipenv install numpy pandas scikit-learn
$ cat pipfile
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
numpy = "*"
pandas = "*"
scikit-learn = "*"
[dev-packages]

Вы также можете просмотреть информацию о пакете, запустив PIP LIST изнутри активной среды.

Установка и запуск jupyter

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

Юпитер с Анакондой

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

# create the environment
$ conda create -n jupyter_env python=3 jupyter
# activate the environment (mac/linux version)
$ source activate jupyter_env
# launch a notebook server in our env
$ jupyter notebook

Это все! Супер простое, супер краткое, и это «просто работает», что сэкономит ваше время для всех супер забавных данных, которые вам нужно сделать, прежде чем вы сможете запустить модели или сделать красивые изображения данных. Теперь каждый раз, когда вы хотите работать в ноутбуке Jupyter, вы просто активируете окружающую среду и запускаете ее в своем выборе проекта.

Юпитер с Pipenv

Подобно Anaconda, мы можем просто создать Pipenv довольно просто.

# create a project directory
$ mkdir jupyter_project
# change into the project directory
$ cd jupyter_project
# create your pipenv
$ pipenv install jupyter
# activate the environment
$ pipenv shell
# launch a notebook server in our env
$ jupyter notebook

Еще два шага Но это все, что нам нужно, чтобы встать и работать с Pipenv. Хорошая вещь о Pipenv в том, что мы можем установить его с помощью PIP.

Примечание – Самым большим недостатком Pipenv является то, что CLI не допускает доступ к глобальной среде, что означает, что вы не можете просто запустить $ pipenv Shell Откуда угодно, он будет работать только изнутри папки проекта. Однако все среды расположены в каталоге ~/.local/share/virtualenvs/ Таким образом, чтобы активировать их из других каталогов все, что вам нужно сделать, это запустить:

# list the virtual environments
$ ls `~/.local/share/virtualenvs/`
# activate the environment from afar$ source ~/.local/share/virtualenvs/[environment_name]/bin/activate

Будущие сообщения 🔮

Теперь, когда мы рассмотрели основы настройки простых сред для науки о данных, есть некоторые другие важные темы, которые нужно охватить. Один из них делится вашей средой с другими, чтобы они могли воспроизводить ваш код и взаимодействовать с вашими исследованиями. Другим важным инструментом для покрытия является самой фактический ноутбук Jupyter. Существует много недостаточно используемых особенностей тетрадей Юпитера, которые делают проекты машинного обучения намного проще.

Оригинал: “https://dev.to/rgalbo/simple-python-environments-for-data-science–4pha”