Anaconda vs. EPD En Thought vs. installazione manuale di Python [chiuso]


112

Quali sono i relativi pregi / svantaggi di vari bundle Python (EPD / Anaconda) rispetto a un'installazione manuale?

Ho installato EPD Academic e non ho problemi con esso. Fornisce più pacchetti di cui penso avrò mai bisogno ed è molto facile 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 utilizzo solo una manciata di pacchetti come Pandas , NumPy , SciPy , matplotlib , IPython , Statsmodels e le rispettive dipendenze.

Per un utilizzo così limitato, è meglio se si installa manualmente pip install --upgrade 'package'o se i bundle offrono qualcosa in più?


2
Guarda anche Python (x, y). Ha un pubblico di destinazione simile come En Thought Python, ma non costa nulla. code.google.com/p/pythonxy
Eike

1
Penso che dipenda dal sistema operativo in uso. Qual è il tuo?
Andrea Zonca

5
Un vantaggio dell'utilizzo di Anaconda anche su Ubuntu è che puoi facilmente avere un'installazione gestita come utente non root. Oppure, puoi avere più ambienti con molte versioni di qualsiasi pacchetto sullo stesso sistema utilizzando il gestore di pacchetti conda che è il cuore della distribuzione Anaconda.
Travis Oliphant,

5
Inoltre, Cordiali saluti, Anaconda è completamente gratuito per tutti, accademici e commerciali. Ci sono licenze gratuite disponibili per gli accademici dei componenti aggiuntivi di Continuum che sono una cosa separata da Anaconda stessa.
Travis Oliphant

1
Ecco alcuni "fatti": Ho testato alcuni semplici calcoli di matrici (prodotti a punti di matrici, inversioni) usando numpy in anaconda vs vanilla python 2.7. L'interprete vanilla usa solo 1 thread del mio laptop, che ha 4 core e 8 thread, mentre anaconda usa tutti gli 8 thread. Quindi la velocità è circa 7 volte più veloce in anaconda.
Jason

Risposte:


48

Aggiornamento 2015 : al giorno d'oggi consiglio sempre Anaconda. Include molti pacchetti Python per informatica scientifica, scienza dei dati, 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 non appena quando viene rilasciata una nuova versione di un pacchetto e puoi semplicemente conda update packagenameaggiornarlo.

Risposta originale di seguito :

Su Windows, ciò che è complicato è compilare i pacchetti matematici, quindi penso che un'installazione manuale sia un'opzione praticabile solo se sei interessato solo a Python, senza altri pacchetti.

Quindi meglio scegliere EPD (ora Canopy) o Anaconda.

Anaconda ha circa 270 pacchetti, inclusi i più importanti per la maggior parte delle applicazioni scientifiche e dell'analisi dei dati, ovvero NumPy , SciPy , Pandas , IPython , matplotlib , Scikit -learn . Quindi, se questo ti basta, sceglierei Anaconda.

Invece, se sei interessato ad altri pacchetti, e anche di più se usi uno qualsiasi dei pacchetti En Thought ( Chaco ad esempio è molto utile per la visualizzazione dei dati in tempo reale), allora 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 esaminando la stessa domanda ora io stesso. State dicendo che Canopy include più pacchetti, significa che non è possibile installare questi altri pacchetti in anaconda? Sembra sciocco limitarmi a non sapere se dopo due anni ho bisogno di un certo pacchetto.
Dominik

3
si spera che in 2 anni aggiornerete il vostro sistema operativo o le installazioni di python ... comunque sì, potete installare ogni pacchetto python aggiuntivo in qualunque distribuzione python scegliete. Per i pacchetti solo Python, questo è molto semplice. Per i pacchetti che incorporano estensioni C o C ++ (di solito i pacchetti scientifici) questo è più difficile, specialmente sotto Windows, quindi è meglio pensare in anticipo.
Andrea Zonca

13
FWIW, Anaconda include anche Chaco e include molto più di soli 20 pacchetti: docs.continuum.io/anaconda/pkgs.html (ancora di più sono disponibili nel repository e non in bundle con il programma di installazione.)
Peter Wang

3
Anche FWIW, Anaconda ora ha delle belle informazioni conda-meta / pkg * su tutti i pacchetti di 100 dispari: richiede, versione ... ( conda-richiede riassume tutti i requisiti.)
denis

3
Ho provato a configurare Python per il data mining sul mio Mac. Non ho ancora risolto questo problema, ma la parte più deludente finora è stata l'installazione di En Thought Canopy Express e poi imparare che fanno pagare $ 199 per l'accesso a scikit-learn e nltk.
rrs

11

Ho provato varie distribuzioni Windows nell'ultimo anno, cercando di trovarne una adatta al mio ambiente di lavoro (dietro un proxy, ma senza accesso alla configurazione del proxy).

Ecco il mio feedback dall'esperienza:

EPD / Canopy: avevamo una licenza di EPD, ma era vecchia e non potevamo aggiornarla a causa della strana situazione del proxy. Per aggiungere alcuni pacchetti (come la versione recente di xlrd / xlwt ), ho compilato dal sorgente. Per aggiornare SciPy e NumPy , ho usato il programma di installazione precompilato da http://www.lfd.uci.edu/~gohlke/pythonlibs/ , ma a volte rovinava la compatibilità. Mi è piaciuto avere un Py2exe e un Cython completamente configurati e hanno 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 davvero. Alcuni dei miei colleghi hanno acquistato la licenza completa di Canopy, ma non siamo ancora sicuri di come si aggiorneranno ...

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 positivo che uno negativo, perché non posso essere sicuro che i miei client avranno la stessa identica configurazione che ho quando installo. (La suite di strumenti En Thought può essere installata in Python (x, y).) Dopo aver usato Python (x, y) per un po ', ho appena notato che ho installato la versione a 32 bit. Anche se non è chiaro sul loro sito web, sembra che non abbiano una versione a 64 bit a partire da luglio 2015. La disinstallerò e otterrò una distribuzione a 64 bit.

Anaconda: Quando ho scritto per la prima volta, Anaconda non sembrava avere ancora abbastanza pacchetti. Un paio d'anni dopo, sembra molto meglio, proverò!

Manuale: per evitare problemi di compatibilità della versione con la nostra vecchia versione EPD, ho finito per utilizzare l'installazione manuale di Python e l'aggiunta di pacchetti aggiuntivi dal sito Web LFD collegato sopra. Funziona benissimo, ma suggerirei comunque Canopy a un nuovo utente che richiede pacchetti avanzati (come GDAL o PyFITS ).

Riepilogo: se scegli Canopy, ottieni la licenza completa (accademica o acquistata). Altrimenti, vai con Python (x, y), finirà per essere lo stesso.

Su Ubuntu: non è necessaria una distribuzione. È tutto relativamente recente (+/- 6 mesi è tollerabile) e precompilato. Devi solo eseguire sudo apt-get install python python-scipyed è lì! Esistono anche i pacchetti più avanzati.


Ehi Rafael, hai guardato Anaconda ultimamente? Ha fatto molta strada.
Peter Wang

download pythonxy : non è all'indirizzo previsto che al momento è solo un dominio parcheggiato.
pbhj

Usare il repository ubuntu python / scipy ecc ... (installato con apt) va bene, ma sono sempre dietro alcune versioni, il che può essere un problema in quanto mancano correzioni di bug e nuove utili funzionalità. Di solito ho preferito installare con pip e ottenere le ultime versioni stabili.
drevicko

4

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

Le build di Anaconda Python utilizzano la modalità Unicode UCS4, mentre En Thought Canopy utilizza UCS2.

Ciò significa in termini pratici che se ti affidi a estensioni che non puoi compilare da solo per qualsiasi motivo (ad esempio librerie proprietarie precompilate), se non sono state costruite per una versione Python con la stessa modalità, potresti prima o successivamente incappano in errori che assomigliano a qualcosa undefined symbol: PyUnicodeUCS4_AsUTF8String.

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


Questa è effettivamente una cosa utile da sapere. Grazie!
pysolver

-4

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

Voglio usare i taccuini 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 Standard (gratuita) di Anaconda. Potresti spiegare dove hai preso queste informazioni? Almeno sulla homepage ufficiale di Anaconda Jupyter è ancora elencato.
MSeifert

2
Questo è effettivamente falso. Jupyter / IPython è sempre stato disponibile in Anaconda gratuito. FWIW, Continuum Analytics (il creatore di Anaconda) impiega diversi sviluppatori principali di Jupyter.
Peter Wang

Correggi la tua risposta errata. Il sito web di ipython ti dice anche come installare usando Anaconda: ipython.org/install.html
Bradley Kreider
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.