2013-04-02 20 views
106

Quali sono i relativi vantaggi/svantaggi di vari pacchetti Python (EPD/Anaconda) rispetto a un'installazione manuale?Anaconda vs. EPD Enthought vs. installazione manuale di Python

Ho installato EPD accademico e non ho problemi con esso. Fornisce più pacchetti che penso avrò mai bisogno, ed è molto facile da aggiornare usando enpkg enstaller. La licenza accademica EPD richiede tuttavia un rinnovo annuale e la versione gratuita non esegue gli aggiornamenti con la stessa facilità.

Al momento davvero usare solo una manciata di pacchetti come Pandas, NumPy, SciPy, matplotlib, IPython, Statsmodels e le loro rispettive dipendenze.

Per tale uso limitato sto meglio con l'installazione manuale e pip install --upgrade 'package' oppure i pacchetti offrono qualcosa oltre a questo?

+2

Guarda anche Python (x, y). Ha un target simile come Enthought Python, ma non costa nulla. http://code.google.com/p/pythonxy/ – Eike

+1

Penso che dipenda dal sistema operativo che stai utilizzando. Qual è il tuo? –

+0

@ andrea-zonca - Io uso Windows XP al lavoro. I pacchetti sono di scarsa utilità in quanto non riesco a gestire gli aggiornamenti tramite il firewall aziendale. A casa uso Windows 8 e ho un disco virtuale con Ubuntu 12.10. Non penso che mi preoccuperei di un bundle su Ubuntu dato che è ben confezionato nei repository. – John

risposta

47

Aggiornamento 2015: Al giorno d'oggi consiglio sempre Anaconda. Include molti pacchetti Python per il calcolo scientifico, la scienza dei dati, lo sviluppo web, ecc. Fornisce anche uno strumento di ambiente superiore, conda, che consente di passare facilmente da un ambiente all'altro, anche tra Python 2 e 3. Viene anche aggiornato molto rapidamente come appena viene rilasciata una nuova versione di un pacchetto, e puoi semplicemente fare conda update packagename per aggiornarlo.

risposta originale al di sotto:

In Windows, ciò che è complicato è quello di compilare i pacchetti di matematica, quindi penso che un manuale di installazione è una valida opzione solo se si è interessati solo a Python, senza altri pacchetti.

Quindi scegliere preferibilmente EPD (ora Canopy) o Anaconda.

Anaconda ha circa 270 pacchetti, tra cui il più importante per la maggior parte delle applicazioni scientifiche e l'analisi dei dati, vale a dire, NumPy, SciPy, Pandas, IPython, matplotlib, Scikit-learn. Quindi, se questo è abbastanza per voi, sceglierei Anaconda.

Invece, se sei interessato ad altri pacchetti, e ancora di più se usi uno dei pacchetti Enthought (Chaco per esempio è molto utile per la visualizzazione dei dati in tempo reale), quindi EPD/Canopy è probabilmente una scelta migliore. La versione Academic ha un numero maggiore di pacchetti nell'installazione di base e molti altri nel repository. Anaconda include anche Chaco.

+1

Sto guardando la stessa domanda ora me stesso. Dichiari che Canopy include più pacchetti, vuol dire che non è possibile installare questi altri pacchetti in anaconda? Sembra sciocco limitarmi a non sapere se a 2 anni di distanza ho bisogno di un certo pacchetto. – Dominik

+3

speriamo che tra 2 anni aggiorni il tuo sistema operativo o le installazioni python ... comunque si, puoi installare ogni pacchetto python aggiuntivo in qualunque distribuzione python tu scelga. Per i pacchetti solo per Python, questo è molto semplice. Per i pacchetti che incorporano estensioni C o C++ (pacchetti scientifici di solito), questo è più difficile, specialmente sotto Windows, quindi è meglio pensare in anticipo. –

+13

FWIW, Anaconda include anche Chaco e include molto più di soli 20 pacchetti: http://docs.continuum.io/anaconda/pkgs.html (altri ancora sono disponibili nel repository e non in bundle con l'installer.) –

11

Ho provato varie distribuzioni di Windows nell'ultimo anno, provando a trovare uno sutable per il mio ambiente di lavoro (dietro un proxy, ma senza accesso alla configurazione del proxy).

Ecco il mio feedback da parte di esperienza:

EPD/Canopy: Abbiamo avuto una licenza di EPD, ma era vecchio e siamo stati in grado di aggiornare lo stavano ristrutturando della situazione delega strano. Per aggiungere alcuni pacchetti (come la versione recente di xlrd/xlwt), ho compilato dal sorgente. Per aggiornare SciPy e NumPy, ho utilizzato il programma di installazione precompilato da http://www.lfd.uci.edu/~gohlke/pythonlibs/, ma a volte avrebbe rovinato la compatibilità. Mi è piaciuto avere un Py2exe e Cython completamente configurato e ha funzionato semplicemente fuori dalla scatola.

Dopo un po ', ho provato a installare la versione gratuita di Canopy, ma manca Cython e py2exe e alcuni pacchetti avanzati specifici di cui avevo bisogno, quindi non l'ho mai usato. Alcuni dei miei colleghi ha acquistato la licenza completa Canopy, ma non siamo ancora sicuri di come stanno andando ad aggiornare ...

Python (x, y): Non volendo lottare con le licenze, ho installato Python (x, y) a casa. L'unico svantaggio che ho notato in questo momento è che l'installazione standard richiede di selezionare i pacchetti desiderati. È sia un punto buono sia un punto negativo, perché non posso essere sicuro che i miei clienti avranno la stessa configurazione di quando installo. (La suite di strumenti Enthought può essere installata in Python (x, y).) Dopo aver usato Python (x, y) per un po ', ho notato che ho installato la versione a 32 bit. Sebbene non sia chiaro sul loro sito web, sembra che non abbiano una versione a 64 bit a partire da luglio 2015. Verrà disinstallato e otterrà una distribuzione a 64 bit.

Anaconda: Quando ho scritto per la prima volta, Anaconda non sembrava avere ancora abbastanza pacchetti. Un paio di anni dopo, sembra molto meglio, ho intenzione di provarlo!

manuale: Al fine di evitare problemi di compatibilità con la nostra versione vecchia versione EPD, ho finito per usare l'installazione di Python manuale e l'aggiunta di pacchetti aggiuntivi dal sito LFD linkato sopra. Funziona alla grande, ma suggerirei Canopy a un nuovo utente che richiede pacchetti avanzati (come GDAL o PyFITS).

Sommario: Se si va per Canopy, ottenere la licenza completa (Academic o acquistato). Altrimenti, vai con Python (x, y), finirà per essere lo stesso.

Su Ubuntu: Nessuna necessità di distribuzione. È tutto relativamente recente (+/- 6 mesi è tollerabile) e precompilato. Devi solo eseguire sudo apt-get install python python-scipy ed è lì! Ci sono anche i pacchetti più avanzati.

+0

Hey Rafael, hai guardato Anaconda ultimamente? Ha fatto molta strada. –

+0

[download pythonxy] (https://code.google.com/p/pythonxy/wiki/Downloads) - non è all'indirizzo previsto che è solo un dominio parcheggiato al momento. – pbhj

+0

L'uso del repository ubuntu python/scipy etc ... (installato con apt) va bene, ma ci sono sempre alcune versioni dietro, il che può essere un problema perché manca correzioni di bug e nuove funzionalità a portata di mano.Di solito mi sono piaciuti per installare con pip e ottenere le ultime versioni stabili. – drevicko

4

Le altre risposte coprono il terreno abbastanza bene, quindi voglio solo sottolineare un aspetto particolare che nessuno ha ancora menzionato. Probabilmente è abbastanza di nicchia, ma può potenzialmente creare o distruggere Anaconda o Canopy per alcune persone sotto i sistemi Linux:

Anaconda Python costruisce utilizzare la modalità UCS4 Unicode, mentre Enthought Canopy usa UCS2.

Ciò significa in termini pratici che se ci si basa su estensioni che non è possibile compilare per qualsiasi motivo (ad esempio librerie proprietarie precompilate), se esse non vengono create per una versione Python con la stessa modalità , potresti prima o poi incappare in errori che assomigliano a undefined symbol: PyUnicodeUCS4_AsUTF8String.

Secondo PEP 0513, UCS4 sembra attualmente più popolare e consigliato. Inoltre, tutti i problemi di compatibilità di UCS sembrano riguardare solo le versioni 2.xe < 3.3.

+0

Questa è in realtà una cosa utile da sapere. Grazie! – pysolver

-4

Ho usato Anaconda per anni e mi è piaciuto parecchio. Sfortunatamente, IPython Notebook (ora Jupyter) non è disponibile senza l'edizione aziendale.

Voglio usare i quaderni Jupyter in classe, quindi sono passato a Canopy.Sembra abbastanza facile installare tutti i pacchetti di cui abbiamo bisogno. Certo, non li abbiamo testati tutti.

+1

Almeno il mio Jupyter Notebook funziona ancora con la versione Anaconda standard (gratuita). Potresti elaborare dove hai ottenuto quell'informazione? Almeno sulla [homepage ufficiale di Anaconda] (http://docs.continuum.io/anaconda/pkg-docs) Jupyter è ancora elencato. – MSeifert

+2

Questo non è vero. Jupyter/IPython è sempre stato disponibile in Anaconda gratuito. FWIW, Continuum Analytics (il creatore di Anaconda) impiega diversi sviluppatori core di Jupyter. –

+0

Si prega di correggere la risposta errata. Il sito web ipython ti dice anche come installare usando Anaconda: http://ipython.org/install.html –