Anaconda против EPD Enthought против установки Python вручную [закрыто]

112

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

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

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

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

Джон
источник
2
Также посмотрите Python (x, y). У него такая же целевая аудитория, как у Enthought Python, но он ничего не стоит. code.google.com/p/pythonxy
Eike
1
Я думаю, это зависит от используемой вами ОС. Что твое?
Андреа Зонка
5
Одним из преимуществ использования Anaconda даже в Ubuntu является то, что вы можете легко выполнить управляемую установку как пользователь без полномочий root. Или вы можете иметь несколько сред со многими версиями любого пакета в одной системе с помощью диспетчера пакетов conda, который лежит в основе дистрибутива Anaconda.
Travis Oliphant
5
Кроме того, к вашему сведению, Anaconda полностью бесплатна для всех, как академических, так и коммерческих. Исследователям надстроек Continuum доступны бесплатные лицензии, которые не связаны с самой Anaconda.
Travis Oliphant
1
Вот некоторые «факты»: я протестировал несколько простых матричных вычислений (матричные точечные произведения, инверсии) с использованием numpy в anaconda vs vanilla python 2.7. Ванильный интерпретатор использует только 1 поток моего ноутбука, который имеет 4 ядра и 8 потоков, в то время как anaconda использует все 8 потоков. Таким образом, у анаконды скорость примерно в 7 раз выше.
Джейсон

Ответы:

48

Обновление 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, вероятно, будет лучшим выбором. Версия Academic имеет большее количество пакетов в базовой установке и намного больше пакетов в репозитории. Анаконда также включает Чако.

Андреа Зонка
источник
1
Я сейчас сам смотрю на этот же вопрос. Вы заявляете, что Canopy включает больше пакетов, означает ли это, что эти другие пакеты невозможно установить в anaconda? Кажется глупым ограничивать себя, не зная, понадобится ли мне через 2 года определенный пакет.
Доминик
3
надеюсь, через 2 года вы обновите свою ОС или установки python ... в любом случае да, вы можете установить каждый дополнительный пакет python в любом выбранном вами дистрибутиве python. Для пакетов только для python это очень просто. Для пакетов, которые встраивают расширения C или C ++ (обычно это научные пакеты), это сложнее, особенно под Windows, так что лучше подумайте заранее.
Андреа Зонка
13
FWIW, Anaconda также включает Chaco и включает гораздо больше, чем просто 20 пакетов: docs.continuum.io/anaconda/pkgs.html (Еще больше доступно в репозитории и не связано с установщиком.)
Питер Ван,
3
Также FWIW, Anaconda теперь имеет хорошую информацию conda-meta / pkg * для всех 100 с лишним пакетов: requires, version ... ( conda-requires суммирует все требования.)
Денис
3
Я пытался настроить python для интеллектуального анализа данных на моем Mac. Я до сих пор не раскололся, но самым разочаровывающим моментом была установка Enthought Canopy Express, а затем выяснение, что они берут 199 долларов за доступ к scikit-learn и nltk.
rrs
11

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

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

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

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

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

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

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

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

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

PhilMacKay
источник
Привет, Рафаэль, ты в последнее время смотрел на Анаконду? Это долгий путь.
Питер Ван,
загрузка pythonxy - это не по ожидаемому адресу, который в настоящее время является просто припаркованным доменом.
pbhj
Использование репозитория ubuntu python / scipy и т. Д. (Установленного с помощью apt) - это нормально, но он всегда отстает на несколько версий, что может быть проблемой, поскольку в нем отсутствуют исправления ошибок и удобные новые функции. Я обычно предпочитаю устанавливать с помощью pip и получать последние стабильные версии.
drevicko
4

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

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

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

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

Дологан
источник
Это действительно полезная вещь. Спасибо!
pysolver 06
-4

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

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

JLeC
источник
1
По крайней мере, мой Jupyter Notebook все еще работает со стандартной (бесплатной) версией Anaconda. Не могли бы вы уточнить, откуда вы взяли эту информацию? По крайней мере, на официальной домашней странице Anaconda Jupyter все еще указан.
MSeifert 02
2
На самом деле это неверно. Jupyter / IPython всегда был доступен в бесплатной Anaconda. В FWIW, Continuum Analytics (создателе Anaconda) работают несколько основных разработчиков Jupyter.
Peter Wang
Исправьте, пожалуйста, свой ошибочный ответ. На веб-сайте ipython даже рассказывается, как установить с помощью Anaconda: ipython.org/install.html
Брэдли