Каковы относительные достоинства / недостатки различных пакетов Python (EPD / Anaconda) по сравнению с ручной установкой?
Я установил программу EPD Academic, и у меня нет проблем с ней. Он предоставляет больше пакетов, которые, я думаю, мне когда-либо понадобятся, и его очень легко обновить с помощью enpkg enstaller. Однако академическая лицензия EPD требует ежегодного продления, а в бесплатной версии обновления не так просты.
На данный момент я действительно использую только несколько пакетов, таких как Pandas , NumPy , SciPy , matplotlib , IPython , Statsmodels и их соответствующие зависимости.
Для такого ограниченного использования мне лучше с ручной установкой и pip install --upgrade 'package'
или пакеты предлагают что-то сверх этого?
python
epd-python
anaconda
Джон
источник
источник
Ответы:
Обновление 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 имеет большее количество пакетов в базовой установке и намного больше пакетов в репозитории. Анаконда также включает Чако.
источник
В прошлом году я пробовал различные дистрибутивы 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
и оно есть! Также есть самые продвинутые пакеты.источник
Другие ответы довольно хорошо освещают почву, поэтому я просто хочу отметить один конкретный аспект, который еще никто не упомянул. Вероятно, это довольно нишевый вариант, но он потенциально может сделать или сломать Anaconda или Canopy для некоторых людей в системах Linux:
Сборки Anaconda Python используют режим Unicode UCS4, тогда как Enthought Canopy использует UCS2.
С практической точки зрения это означает, что если вы полагаетесь на какие-либо расширения, которые не можете скомпилировать самостоятельно по какой-либо причине (например, предварительно скомпилированные проприетарные библиотеки), если они не созданы для версии Python с тем же режимом, вы можете скорее или позже столкнуться с ошибками, которые выглядят примерно так
undefined symbol: PyUnicodeUCS4_AsUTF8String
.Согласно PEP 0513, UCS4 в настоящее время более популярен и рекомендуется. Кроме того, все проблемы совместимости UCS, похоже, влияют только на версии 2.x и <3.3.
источник
Я использовал Anaconda много лет, и она мне очень понравилась. К сожалению, IPython Notebook (теперь Jupyter ) недоступен без корпоративной версии.
Я хочу использовать записные книжки Jupyter в классе, поэтому перешел на Canopy. Кажется, достаточно просто установить все необходимые нам пакеты. По общему признанию, мы не тестировали их все.
источник