Начало работы с Anaconda на Python
В этой статье мы будем устанавливать Anaconda, управлять пакетами python, создавать отдельные среды conda и делиться ими через файл conda YAML. Мы рассмотрим большинство из этих тем в следующем порядке:
- Установка Anaconda
- Создание среды с помощью Conda
- Управление пакетами через Conda
- Сохранение и Загрузка среды
- Перечисление, Совместное Использование и Удаление Сред
- Лучшие практики
- Прежде всего, Что такое Анаконда и Почему я должен знать о ней?
Вы, вероятно, уже установили Python и будете задаваться вопросом, зачем вам это вообще нужно. Во-первых, поскольку Anaconda поставляется с кучей пакетов datascience, вы будете готовы начать работать с данными. Во-вторых, использование conda для управления вашими пакетами и средами уменьшит будущие проблемы, связанные с различными библиотеками, которые вы будете использовать.
В большинстве реальных проектов по науке о данных широко используются пакеты и среды на основе conda, и я лично предпочитаю установку и обслуживание пакетов на основе conda проекта, а затем установку и обслуживание непосредственно пакетов на основе PIP.
Так почему же Анаконда?
Anaconda — это дистрибутив пакетов, созданных для datascience. Он поставляется с conda, пакетом и менеджером среды. Обычно мы использовали conda для создания сред для изоляции наших проектов, использующих разные версии Python и/или разные версии пакетов.
Мы также используем его для установки, удаления и обновления пакетов в наших проектных средах. Когда вы загружаете Anaconda в первый раз, она поставляется с conda, Python и более чем 150 научными пакетами и их зависимостями.
Anaconda — это довольно большая загрузка (~500 МБ), потому что она поставляется с наиболее распространенными пакетами datascience в Python, для людей, которые консервативны в отношении дискового пространства, есть также Miniconda, меньший дистрибутив, который включает только conda и Python.
Вы все еще можете установить любой из доступных пакетов с помощью conda, который по умолчанию поставляется со стандартной версией. Conda-это программа, которую мы будем использовать исключительно из командной строки.
Установка Anaconda
Anaconda доступна для Windows, Mac OS X и Linux. Вы можете найти инструкции по установке по ссылке https://www.continuum.io/downloads. Если у вас уже установлен Python на вашем компьютере, это ничего не сломает. Вместо этого Python по умолчанию, используемый вашими скриптами и программами, будет тем, который поставляется с Anaconda.
Выберите версию Python 3.5, вы можете установить Python 2 версии позже. Кроме того, выберите 64-разрядный установщик, если у вас есть 64-разрядная операционная система, в противном случае используйте 32-разрядный установщик.
После установки вы автоматически попадаете в среду conda по умолчанию со всеми установленными пакетами, которые вы можете увидеть ниже. Вы можете проверить свою собственную установку, введя список conda в свой терминал.
Создание сред с помощью Conda
Conda можно использовать для создания сред для изоляции ваших проектов. Чтобы создать среду, используйте conda create -n env_namelist of packages в вашем терминале. Здесь -n env_name задает имя вашей среды (-n для имени), а listofpackages — это список пакетов, которые вы хотите установить в этой среде. Например, чтобы создать среду с именем my_env и установить в нее numpy, введите:
conda create-n my_envnumpy
При создании среды вы можете указать, какую версию Python установить в этой среде. Это полезно, когда вы работаете с кодом как в Python 2.x, так и в Python 3.x. Чтобы создать среду с определенной версией Python, сделайте что-то вроде:
conda create-n py3 python=3
или
conda create -n py2 python=2
Чтобы установить определенную версию, используйте condacreate -n pypython=3.3 для Python 3.3. После того как вы создали среду, используйте source activate my_env, чтобы ввести ее в OSX/Linux. В Windows используйте:
activatemy_env
Когда вы находитесь в среде, вы увидите имя среды в приглашении терминала. Что-то вроде:
(my_env) ~ $
По умолчанию в среде установлено всего несколько пакетов, плюс те, которые вы установили при ее создании. Вы можете проверить это с помощью команды condalist.
Установка пакетов в среде происходит так же, как мы видели ранее:
condainstallpackage_name
Только на этот раз конкретные пакеты, которые вы устанавливаете, будут доступны только тогда, когда вы находитесь в среде. Чтобы выйти из окружения, введите в OSX/Linux:
sourcedeactivate
На Windows:
deactivate
Управление пакетами через Conda
После установки Anaconda управление пакетами становится довольно простым. Чтобы установить пакет, введите:
condainstallpackage_name
Например, чтобы установить numpy, введите:
condainstallnumpy
Сохранение и загрузка среды
Вы можете установить несколько пакетов одновременно. Что — то вроде:
conda install numpyscipy pandas
Эта команда установит все эти пакеты одновременно. Также можно указать, какую версию пакета вы хотите, добавив номер версии, например:
condainstallnumpy=1.10
Conda также автоматически устанавливает зависимости для вас. Например, пакет scipy зависит от numpy, так как он использует и требует numpy. Итак, если вы устанавливаете только scipy conda, install scipy Conda также установит numpy, если он еще не установлен.
Большинство команд довольно интуитивно понятны. Для удаления используйте:
condaremovepackage_name
Чтобы обновить пакет:
condaupdatepackage_name
Если вы хотите обновить все пакеты в среде, что часто бывает полезно, используйте:
condaupdate —all
И, наконец, чтобы перечислить установленные пакеты:
listconda
Если вы не знаете точного названия пакета, который ищете, вы можете попробовать выполнить поиск с помощью:
condasearchsearch_term
Например, если вы хотите установить пакет, который читает и записывает файлы excel, но не уверены в точном имени пакета.вы можете попробовать поискать ключевое слово excel:
condasearchexcel
Он возвращает список доступных пакетов excelwriter с соответствующим именем пакета, которое я лично рекомендую, XlsxWriter.
Сохранение, перечисление, совместное использование и удаление сред
Сохранение и совместное использование сред
Действительно полезная функция-совместное использование сред, чтобы другие могли установить все пакеты, используемые в вашем коде, с правильными версиями. Вы можете сохранить пакеты в файл YAML с помощью condaenvexport>environment.yaml
Первая часть записывает все пакеты в среде, включая версию Python. Выше вы можете увидеть имя среды и все зависимости (вместе с версиями) перечислены. Вторая часть команды экспорта >environment.yaml
записывает экспортированный текст в файл YAML environment.yaml. Теперь этот файл можно использовать совместно, и другие смогут создать ту же среду, которую вы использовали для проекта.
Чтобы создать среду из файла среды, используйте:
condaenv create-f environment.yaml
Это создаст новую среду с тем же именем, указанным в environment.yaml.
Перечисление Сред
Если вы забыли, как называются ваши среды (это иногда случается со мной), используйте condaenvlist,
чтобы перечислить все созданные вами среды. Вы должны увидеть список сред, рядом с той средой, в которой вы сейчас находитесь, будет звездочка. Среда по умолчанию, используемая, когда вы не находитесь в ней, называется корневой.
Удаление Сред
Если есть среды, которые вы больше не используете, вы можете их удалить с помощью condaenv remove-n env_name