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. Кажется, достаточно легко установить все необходимые нам пакеты. По общему признанию, мы не тестировали их все.