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

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

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

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

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

4 ответа

Решение

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

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

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

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

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

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

В прошлом году я пробовал различные дистрибутивы 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-битную версию. Хотя на их веб-сайте неясно, похоже, что по состоянию на июль 2015 года у них нет 64-разрядной версии. Я собираюсь удалить ее и получить 64-разрядную версию.

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам