Anaconda vs. EPD Enthought проти ручної установки Python [закрито]


112

Які відносні достоїнства / недоліки різних пакетів Python (EPD / Anaconda) проти ручної установки?

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

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

Мені для такого обмеженого використання краще мені встановити вручну та pip install --upgrade 'package'чи пакети пропонують щось вище та вище?


2
Подивіться також на Python (x, y). У нього схожа цільова аудиторія, як Enthought Python, але вона нічого не коштує. code.google.com/p/pythonxy
Ейке

1
Я думаю, це залежить від ОС, яку ви використовуєте. Що твоє?
Андреа Зонка

5
Однією з переваг використання Anaconda навіть в Ubuntu є те, що ви можете легко мати керовану установку як некористувацького користувача. Або ви можете мати декілька середовищ із багатьма версіями будь-якого пакету в одній системі за допомогою диспетчера пакетів conda, який лежить в основі розповсюдження Anaconda.
Тревіс Оліфант

5
Крім того, FYI, Anaconda є абсолютно безкоштовною для всіх, академічною та комерційною. Існують безкоштовні ліцензії, доступні для викладачів додатків Continuum, які є окремою річчю від самої Анаконда.
Тревіс Оліфант

1
Ось деякі "факти": я протестував деякі прості матричні обчислення (матричні крапкові продукти, інверсії), використовуючи numpy в анаконді проти ванільного пітона 2.7. Перекладач ванілі використовує лише 1 потік мого ноутбука, який має 4 ядра та 8 ниток, тоді як анаконда використовує всі 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 . Тож якщо цього вам достатньо, я вибрав би Анаконда.

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


1
Я зараз сам переглядаю це те саме питання. Ви заявляєте, що Canopy включає в себе більше пакетів, це означає, що неможливо встановити ці інші пакети в анаконду? Дуже глупо обмежувати себе, не знаючи, чи потрібно 2 роки в дорозі певний пакет.
Домінік

3
сподіваємось, через 2 роки ви оновите вашу ОС або python установки ... все одно так, ви можете встановити кожен додатковий пакет python у будь-якому дистрибутиві python, який ви вибрали. Для пакетів, що стосуються лише пітона, це дуже просто. Для пакетів, які вбудовують розширення C або C ++ (зазвичай наукові пакунки), це складніше, особливо під вікнами, тому краще подумати заздалегідь.
Андреа Зонка

13
FWIW, Anaconda також включає Chaco і включає в себе набагато більше ніж 20 пакетів: docs.continuum.io/anaconda/pkgs.html (Ще більше є у репо- репортажі та не в комплекті з інсталятором.)
Пітер Ван

3
Також FWIW, Anaconda тепер має хороший Конда-мета / PKG * інформацію про всіх 100 з гаком пакетів: вимагає версії ... ( Конда-вимагає підсумовує все вимагає.)
Денису

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і це там! Більшість сучасних пакетів також є.


Гей, Рафаеле, ти недавно дивився на Анаконда? Довгий шлях.
Пітер Ван

завантаження pythonxy - наразі це не за очікуваною адресою, яка є лише припаркованим доменом.
pbhj

Використання репозиторію ubuntu python / scipy тощо ... (встановлено за допомогою apt) добре, але позаду завжди є кілька версій, що може бути болем, оскільки воно не вистачає виправлень помилок та зручних нових функцій. Зазвичай я вважаю за краще встановлювати файли pip та отримувати останні стабільні версії.
drevicko

4

Інші відповіді досить добре висвітлюють грунт, тому я просто хочу зауважити один конкретний аспект, про який ще ніхто не згадував. Це, мабуть, досить ніша, але це може потенційно зробити або зламати Анаконда або Canopy для деяких людей в системах Linux:

Анаконда Python використовує UCS4 Unicode, тоді як Enthought Canopy використовує UCS2.

Це означає на практиці, що якщо ви покладаєтесь на будь-які розширення, які ви не можете скласти самостійно з будь-якої причини (наприклад, попередньо складені власні бібліотеки), якщо вони не будуть побудовані для версії Python з тим же режимом, ви можете скоріше або пізніше натрапляють на помилки, схожі на щось undefined symbol: PyUnicodeUCS4_AsUTF8String.

Згідно з PEP 0513 , здається, що UCS4 наразі є більш популярним та рекомендованим. Крім того, всі проблеми сумісності з UCS зачіпають лише версії 2.x та <3.3.


Це насправді корисна річ, яку потрібно знати. Дякую!
pysolver

-4

Я використовував Анаконда роками і дуже сподобався. На жаль, ноутбук IPython (зараз Юпітер ) недоступний без корпоративного видання.

Я хочу використовувати зошити Юпітера в класі, тому я перейшов на Canopy. Здається, досить просто встановити всі необхідні нам пакунки. Правда, ми не перевірили їх усіх.


1
Принаймні мій ноутбук Юпітер все ще працює із стандартною (безкоштовною) версією Anaconda. Не могли б ви уточнити, звідки ви отримали цю інформацію? Принаймні, на офіційній домашній сторінці Anaconda Юпітер все ще вказаний.
MSeifert

2
Це фактично неправда. Jupyter / IPython завжди був доступний у безкоштовній Anaconda. FWIW, у Continuum Analytics (виробник Anaconda) працює декілька розробників ядер Jupyter.
Пітер Ван

Виправте помилкову відповідь. Веб-сайт ipython навіть розповідає, як встановити за допомогою Anaconda: ipython.org/install.html
Bradley
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.