Anaconda против EPD Enthought против ручной установки Python

Каковы относительные достоинства/недостатки различных пакетов Python (EPD/Anaconda) по сравнению с ручной установкой?

Я установил академию EPD, и у меня нет проблем с ним. Он предоставляет больше пакетов, которые, я думаю, мне когда-либо понадобится, и их очень легко обновить, используя enpkg enstaller. Академическая лицензия EPD требует ежегодного обновления, но бесплатная версия не делает обновления так же легко.

В настоящий момент я действительно использую только несколько пакетов, таких как Pandas, NumPy, SciPy, matplotlib, IPython, Statsmodels и их соответствующих зависимостей.

Для такого ограниченного использования мне лучше с ручной установкой и pip install --upgrade 'package', или же в пакетах есть что-нибудь сверх этого?

Ответ 1

Обновление 2015. В настоящее время я всегда рекомендую Anaconda. Он включает в себя множество пакетов Python для научных вычислений, науки о данных, веб-разработки и т.д. Он также предоставляет превосходный инструмент среды conda, который позволяет легко переключаться между средами даже между Python 2 и 3. Он также обновляется очень быстро, как только будет выпущена новая версия пакета, и вы можете просто сделать conda update packagename, чтобы обновить ее.

Оригинальный ответ ниже:

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

Поэтому лучше выбрать либо EPD (теперь Canopy), либо Anaconda.

Anaconda имеет около 270 пакетов, включая наиболее важные для большинства научных приложений и анализа данных, то есть NumPy, SciPy, Pandas, IPython, matplotlib, Scikit-learn. Так что, если этого достаточно для вас, я бы выбрал Anaconda.

Вместо этого, если вас интересуют другие пакеты и даже больше, если вы используете какой-либо из пакетов Enthought (Chaco, например очень полезна для визуализации данных в реальном времени), то EPD/Canopy, вероятно, лучший выбор. Академическая версия имеет большее количество пакетов в базовой установке и еще много в репозитории. Анаконда также включает Чако.

Ответ 2

Я пробовал разные дистрибутивы Windows за последний год, пытаясь найти один заголовок для моей рабочей среды (за прокси, но без доступа к конфигурации прокси).

Вот мой отзыв от опыта:

EPD/Навес: У нас была лицензия EPD, но она была старой, и мы не смогли обновить ее из-за странной прокси-ситуации. Чтобы добавить некоторые пакеты (например, недавняя версия xlrd/xlwt), я скомпилирован из источника. Чтобы обновить SciPy и NumPy, я использовал предварительно скомпилированный установщик из http://www.lfd.uci.edu/~gohlke/pythonlibs/, но иногда он испортит совместимость. Мне нравилось иметь полностью настроенную Py2exe и Cython, и он просто работал из коробки.

Через некоторое время я попытался установить бесплатную версию Canopy, но ей не хватало Cython и py2exe и некоторых конкретных передовых пакетов, которые мне нужны, поэтому я никогда не использовал их. Некоторые из моих коллег купили полную лицензию на Canopy, но мы все еще не уверены, как они собираются обновить...

Python (х, у): Не желая бороться с лицензиями, я установил Python (x, y) дома. Единственный недостаток, который я заметил сейчас, заключается в том, что стандартная установка требует от вас выбрать, какие пакеты вы хотите. Это хороший и плохой момент, потому что я не могу быть уверен, что мои клиенты будут иметь ту же конфигурацию, что и при установке. (Набор инструментов Enthoughth может быть установлен в Python (x, y).) После использования Python (x, y) некоторое время я заметил, что я установил 32-разрядную версию. Хотя на их веб-сайте неясно, похоже, у них нет 64-разрядной версии по состоянию на июль 2015 года. Я собираюсь удалить ее и получить 64-разрядное распространение.

Анаконда Когда я впервые написал это, у Anaconda пока не было достаточно пакетов. Через пару лет, кажется, намного лучше, я собираюсь попробовать!

Ручной режим: Чтобы избежать проблем совместимости версий с нашей старой версией EPD, я закончил использование ручной установки Python и добавил дополнительные пакеты со связанного выше веб-сайта LFD. Он отлично работает, но я все же предлагаю Canopy новому пользователю, которому требуются расширенные пакеты (например, GDAL или PyFITS).

Резюме: Если вы идете на Canopy, получите полную лицензию (академическую или купленную). Иначе, пойдите с Python (x, y), это будет тем же самым.

В Ubuntu: Нет необходимости в распространении. Все это относительно недавно (+/- 6 месяцев допустимо) и предварительно скомпилировано. Вам просто нужно выполнить sudo apt-get install python python-scipy, и это там! Большинство продвинутых пакетов также есть.

Ответ 3

Другие ответы покрывают землю довольно хорошо, поэтому я просто хочу отметить один конкретный аспект, о котором никто еще не упомянул. Это, вероятно, довольно ниша, но она может потенциально сделать или разбить Anaconda или Canopy для некоторых людей в системах Linux:

Форматы Anaconda Python используют режим Unicode UCS4, тогда как Enthought Canopy использует UCS2.

В практическом плане это означает, что если вы полагаетесь на любые расширения, которые вы не можете скомпилировать по какой-либо причине (например, предварительно скомпилированные собственные библиотеки), если они не будут созданы для версии Python с таким же режимом, вы можете рано или поздно сталкиваться с ошибками, которые выглядят примерно как undefined symbol: PyUnicodeUCS4_AsUTF8String.

Согласно PEP 0513, UCS4, похоже, в настоящее время более популярен и рекомендуется. Кроме того, все проблемы совместимости UCS, по-видимому, влияют только на 2.x и < 3.3 версии.

Ответ 4

Я использовал Anaconda уже много лет, и мне это понравилось. К сожалению, IPython Notebook (теперь Jupyter) недоступен без корпоративной версии.

Я хочу использовать ноутбуки Jupyter в классе, поэтому я переключился на Canopy. Кажется, достаточно легко установить все необходимые нам пакеты. По общему признанию, мы не тестировали их все.