Коллаборация Visual Studio Code и Anaconda
Не так давно было объявлено о включении Visual Studio Code в дистрибутив Anaconda, что несомненно является большим шагом в развитии инструментов анализа данных с открытым исходным кодом.
Anaconda, основанная Трэвисом Олифантом, автором NumPy, стала неотъемлемым инструментом в области работы с данными, имеющая в своем арсенале большое количество библиотек и плагинов, которые охватывают большинство аналитических случаев. Поскольку Python является интерпретированным языком, с поддержкой REPL, вы можете тестировать фрагменты кода из командной строки, работать с источниками данных перед запуском более сложных скриптов.
Anaconda представляет собой сборку предназначенную для разработчиков, которые используют Python для анализа данных. Она включает в себя GUI, множество научно ориентированных рабочих сред и инструменты для упрощения процесса обработки данных. Его также можно использовать в качестве общей замены стандартного дистрибутива Python, если вас для вас не существенны различия между ними.
При установке Anaconda в первый раз у пользователей будет возможность установить Visual Studio Code, включая расширение Python для Visual Studio Code. Это дает пользователям Anaconda мощную среду IDE, чтобы максимально использовать пакеты Python.
Затем пользователи Anaconda смогут легко установить и запустить VS Code с главного экрана Anaconda Navigator.
Microsoft в свою очередь использует Anaconda как инструмент анализа данных в SQL Server.
Внедрение инструмента интерактивной аналитики в сердце базы данных — является разумным и обоснованным ходом. В тоже время если вам не нужен такой инструмент в продуктивной базе можно ее не устанавливать, оставив комбинацию SQL Server / Anaconda для среды разработки.
Azure также имеет доступ к Anaconda, как часть Azure Machine Learning. Ведь для получения максимальной отдачи от платформы машинного обучения, вы должны иметь возможность создавать и тестировать свои статистические модели до масштабного развертывания их. Используя Anaconda для создания аналитических моделей на Python и R, вы можете протестировать их на простых данных в Visual Studio Code, прежде чем внедрять их в конвейер Azure ML.
Что входит в Anaconda
Интерпретатор Python
Anaconda включает по умолчанию самую последнюю версию интерпретатора Python. Это не стандартная сборка CPython, а настраиваемая сборка, созданная Anaconda Inc. специально для дистрибутива. И по мнению членов команды Anaconda имеет «более эффективную оптимизацию производительности». Тем не менее, интерпретатор Anaconda Python полностью совместим с CPython.
Anaconda Navigator
Самое примечательное, что Anaconda добавляет к опыту работы с Python — графический интерфейс Anaconda Navigator. Это не IDE, и он не пытается быть одним из них, потому что большинство интегрированных IDE с Python могут и сами использовать среду Anaconda Python. Вместо этого Navigator — это организационная система для Anaconda.
С помощью Navigator вы можете добавлять и запускать высокоуровневые приложения, такие как R Studio или Jupyterlab, управлять виртуальными средами и пакетами и выполнять различные административные функции.
Navigator предоставляет удобство графического интерфейса, но он и не заменяет функции командной строки в Anaconda или Python. Например, вы можете управлять пакетами через графический интерфейс, и также можете использовать командную строку для этого.
CPython, напротив, не имеет формального GUI. Он поставляется с IDLE, мини-IDE, подходящим для быстрых одноразовых задач. В Microsoft Visual Studio имеется графический интерфейс для менеджера пакетов Python Pip, Anaconda в свою очередь предоставляет собственный менеджер пакетов Conda.
Conda
Python поставляется с менеджером пакетов Pip, для установки и управления сторонними пакетами Python. Несмотря на то, что разработчики Python на протяжении многих лет расширяют мощность Pip, она все еще ограничена. Он управляет пакетами только для самого Python, а не для всей системы.
Разработчики Anaconda боролись с этим ограничением, но в итоге решили разработать собственное решение: Conda, решение для управления пакетами, которое обрабатывает не только пакеты Python, но и зависимости вне экосистемы Python.
Например: если у вас есть несколько пакетов Conda, которые зависят от компилятора, например GCC или LLVM, Conda может разрешить внешние зависимости для всех этих пакетов. Он может установить один экземпляр конкретной версии GCC для всех пакетов Conda, которые в ней нуждаются.
Таким образом, Conda не является взаимозаменяемым с Pip. Он даже не использует один и тот же формат пакета — пакеты, созданные для Pip, должны быть пересозданы для Conda. Но почти каждый пакет, используемый в экосистеме Python, доступен через Conda.