Anaconda vs. EPD Enthought vs. manuelle Installation von Python [geschlossen]

112

Was sind die relativen Vor- und Nachteile verschiedener Python-Bundles (EPD / Anaconda) gegenüber einer manuellen Installation?

Ich habe EPD Academic installiert und habe keine Probleme damit. Es bietet mehr Pakete, von denen ich denke, dass ich sie jemals brauchen werde, und es ist sehr einfach, sie mit enpkg enstaller zu aktualisieren. Die EPD-Lizenz muss jedoch jährlich erneuert werden, und die kostenlose Version führt Aktualisierungen nicht so einfach durch.

Im Moment benutze ich wirklich nur eine Handvoll Pakete wie Pandas , NumPy , SciPy , Matplotlib , IPython , Statsmodels und ihre jeweiligen Abhängigkeiten.

Für eine derart eingeschränkte Verwendung bin ich mit der manuellen Installation besser dran pip install --upgrade 'package'oder bieten die Bundles darüber hinaus noch etwas?

John
quelle
2
Schauen Sie sich auch Python (x, y) an. Es hat eine ähnliche Zielgruppe wie Enthought Python, kostet aber nichts. code.google.com/p/pythonxy
Eike
1
Ich denke, es hängt von dem Betriebssystem ab, das Sie verwenden. Was ist dein?
Andrea Zonca
5
Ein Vorteil der Verwendung von Anaconda auch unter Ubuntu besteht darin, dass Sie als Nicht-Root-Benutzer problemlos eine verwaltete Installation durchführen können. Sie können auch mehrere Umgebungen mit vielen Versionen eines Pakets auf demselben System verwenden, indem Sie den conda package manager verwenden, der das Herzstück der Anaconda-Distribution bildet.
Travis Oliphant
5
Auch zu Ihrer Information, Anaconda ist für alle, sowohl akademische als auch kommerzielle, völlig kostenlos. Akademikern von Continuum-Add-Ons stehen kostenlose Lizenzen zur Verfügung, die sich von Anaconda selbst unterscheiden.
Travis Oliphant
1
Hier sind einige "Fakten": Ich habe einige einfache Matrixberechnungen (Matrixpunktprodukte, Inversionen) mit numpy in anaconda vs vanilla python 2.7 getestet. Der Vanille-Interpreter verwendet nur 1 Thread meines Laptops mit 4 Kernen und 8 Threads, während Anaconda alle 8 Threads verwendet. In Anaconda ist die Geschwindigkeit also etwa siebenmal höher.
Jason

Antworten:

48

Update 2015 : Heutzutage empfehle ich immer Anaconda. Es enthält viele Python-Pakete für wissenschaftliches Rechnen, Datenwissenschaft, Webentwicklung usw. Es bietet auch ein überlegenes Umgebungstool conda, mit dem Sie problemlos zwischen Umgebungen wechseln können, auch zwischen Python 2 und 3. Es wird auch sehr schnell aktualisiert, sobald es verfügbar ist Wenn eine neue Version eines Pakets veröffentlicht wird, können Sie es einfach conda update packagenameaktualisieren.

Ursprüngliche Antwort unten :

Unter Windows ist es kompliziert, die Mathematikpakete zu kompilieren. Ich denke, eine manuelle Installation ist nur dann eine praktikable Option, wenn Sie nur daran interessiert sind Python, ohne andere Pakete.

Wählen Sie daher besser entweder EPD (jetzt Canopy) oder Anaconda.

Anaconda verfügt über rund 270 Pakete, darunter die wichtigsten für die meisten wissenschaftlichen Anwendungen und Datenanalysen , dh NumPy , SciPy , Pandas , IPython , Matplotlib und Scikit-Learn . Wenn Ihnen das reicht, würde ich mich für Anaconda entscheiden.

Wenn Sie an anderen Paketen interessiert sind und noch mehr, wenn Sie eines der Enthought-Pakete verwenden ( Chaco ist beispielsweise für die Echtzeit-Datenvisualisierung sehr nützlich), ist EPD / Canopy wahrscheinlich die bessere Wahl. Die Academic-Version enthält eine größere Anzahl von Paketen in der Basisinstallation und viele weitere im Repository. Anaconda umfasst auch Chaco.

Andrea Zonca
quelle
1
Ich betrachte diese Frage jetzt selbst. Sie geben an, dass Canopy mehr Pakete enthält. Bedeutet das, dass es nicht möglich ist, diese anderen Pakete in Anaconda zu installieren? Es scheint albern, mich darauf zu beschränken, nicht zu wissen, ob ich 2 Jahre später ein bestimmtes Paket brauche.
Dominik
3
Hoffentlich aktualisieren Sie in 2 Jahren Ihre Betriebssystem- oder Python-Installationen. Auf jeden Fall können Sie jedes weitere Python-Paket in einer beliebigen Python-Distribution installieren. Für reine Python-Pakete ist dies sehr einfach. Bei Paketen, in die C- oder C ++ - Erweiterungen eingebettet sind (normalerweise wissenschaftliche Pakete), ist dies schwieriger, insbesondere unter Windows. Denken Sie also besser im Voraus nach.
Andrea Zonca
13
FWIW, Anaconda enthält auch Chaco und enthält weit mehr als nur 20 Pakete: docs.continuum.io/anaconda/pkgs.html (Noch mehr sind im Repo verfügbar und nicht im Lieferumfang des Installationsprogramms enthalten.)
Peter Wang
3
Auch FWIW, Anaconda hat jetzt nette conda-meta / pkg * -Informationen zu allen 100 ungeraden Paketen: erfordert, Version ... ( conda-require fasst alle erforderlichen zusammen.)
denis
3
Ich habe versucht, Python für Data Mining auf meinem Mac einzurichten. Ich habe diese Nuss immer noch nicht geknackt, aber der enttäuschendste Teil war bisher, Enthought Canopy Express zu installieren und dann zu erfahren, dass für den Zugang zu Scikit-Learn und Nltk 199 US-Dollar berechnet werden.
rrs
11

Ich habe im letzten Jahr verschiedene Windows-Distributionen ausprobiert und versucht, eine für meine Arbeitsumgebung geeignete Version zu finden (hinter einem Proxy, jedoch ohne Zugriff auf die Proxy-Konfiguration).

Hier ist mein Feedback aus Erfahrung:

EPD / Canopy: Wir hatten eine EPD-Lizenz, diese war jedoch alt und konnte aufgrund der seltsamen Proxy-Situation nicht aktualisiert werden. Um einige Pakete hinzuzufügen (z. B. die neueste Version von xlrd / xlwt ), habe ich aus dem Quellcode kompiliert. Um SciPy und NumPy zu aktualisieren , habe ich das vorkompilierte Installationsprogramm von http://www.lfd.uci.edu/~gohlke/pythonlibs/ verwendet , aber es hat manchmal die Kompatibilität beeinträchtigt. Ich fand es toll , Py2exe und Cython vollständig konfiguriert zu haben , und es hat einfach sofort funktioniert.

Nach einer Weile habe ich versucht, die kostenlose Version von Canopy zu installieren, aber es fehlen Cython und py2exe sowie einige spezielle erweiterte Pakete, die ich brauchte, sodass ich sie nie wirklich verwendet habe. Einige meiner Kollegen haben die vollständige Canopy-Lizenz gekauft, aber wir sind uns immer noch nicht sicher, wie sie aktualisiert werden sollen ...

Python (x, y): Da ich nicht mit Lizenzen kämpfen wollte, habe ich Python (x, y) zu Hause installiert. Der einzige Nachteil, den ich gerade bemerkt habe, ist, dass Sie bei der Standardinstallation auswählen müssen, welche Pakete Sie möchten. Dies ist sowohl ein guter als auch ein schlechter Punkt, da ich nicht sicher sein kann, ob meine Clients genau dieselbe Konfiguration haben wie bei der Installation. (Die Enthought-Tool-Suite kann in Python (x, y) installiert werden.) Nachdem ich Python (x, y) eine Weile verwendet hatte, bemerkte ich nur, dass ich die 32-Bit-Version installiert hatte. Obwohl es auf ihrer Website nicht klar ist, scheinen sie ab Juli 2015 keine 64-Bit-Version zu haben. Ich werde sie deinstallieren und eine 64-Bit-Distribution erhalten.

Anaconda: Als ich das zum ersten Mal schrieb, schien Anaconda noch nicht genug Pakete zu haben. Ein paar Jahre später scheint es viel besser zu sein, ich werde es versuchen!

Handbuch: Um Probleme mit der Versionskompatibilität mit unserer alten EPD-Version zu vermeiden, habe ich die manuelle Python-Installation verwendet und zusätzliche Pakete von der oben verlinkten LFD-Website hinzugefügt. Es funktioniert großartig, aber ich würde Canopy trotzdem einem neuen Benutzer empfehlen, der erweiterte Pakete benötigt (wie GDAL oder PyFITS ).

Zusammenfassung: Wenn Sie sich für Canopy entscheiden, erhalten Sie die vollständige Lizenz (akademisch oder gekauft). Andernfalls gehen Sie mit Python (x, y), es wird am Ende das gleiche sein.

Unter Ubuntu: Keine Distribution erforderlich. Es ist alles relativ neu (+/- 6 Monate sind erträglich) und vorkompiliert. Sie müssen nur ausführen sudo apt-get install python python-scipyund es ist da! Die meisten fortgeschrittenen Pakete gibt es auch.

PhilMacKay
quelle
Hey Rafael, hast du dir in letzter Zeit Anaconda angesehen? Es ist ein langer Weg gekommen.
Peter Wang
pythonxy download - es ist nicht an der erwarteten Adresse, die derzeit nur eine geparkte Domain ist.
pbhj
Die Verwendung von Ubuntu Repository Python / Scipy usw. (mit apt installiert) ist in Ordnung, aber es sind immer ein paar Versionen dahinter, was schmerzhaft sein kann, da Fehlerbehebungen und praktische neue Funktionen fehlen. Normalerweise habe ich es vorgezogen, mit pip zu installieren und die neuesten stabilen Versionen zu erhalten.
Drevicko
4

Die anderen Antworten decken den Boden recht gut ab, daher möchte ich nur auf einen bestimmten Aspekt eingehen, den noch niemand erwähnt hat. Es ist wahrscheinlich eine ziemlich Nische, aber es kann möglicherweise Anaconda oder Canopy für einige Leute unter Linux-Systemen machen oder brechen:

Anaconda Python-Builds verwenden den UCS4-Unicode-Modus, während Enthought Canopy UCS2 verwendet.

In der Praxis bedeutet dies, dass Sie es möglicherweise früher tun, wenn Sie sich auf Erweiterungen verlassen, die Sie aus irgendeinem Grund nicht selbst kompilieren können (z. B. vorkompilierte proprietäre Bibliotheken), wenn diese nicht für eine Python-Version mit demselben Modus erstellt wurden oder später auf Fehler stoßen, die ungefähr so ​​aussehen undefined symbol: PyUnicodeUCS4_AsUTF8String.

Laut PEP 0513 scheint UCS4 derzeit beliebter und empfohlener zu sein. Außerdem scheinen die gesamten UCS-Kompatibilitätsprobleme nur die Versionen 2.x und <3.3 zu betreffen.

Dologan
quelle
Dies ist eigentlich eine nützliche Sache zu wissen. Vielen Dank!
Pysolver
-4

Ich habe Anaconda jahrelang benutzt und es hat mir ziemlich gut gefallen. Leider ist IPython Notebook (jetzt Jupyter ) ohne die Enterprise Edition nicht verfügbar.

Ich möchte Jupyter-Notizbücher im Klassenzimmer verwenden, also bin ich zu Canopy gewechselt. Es scheint einfach genug zu sein, alle benötigten Pakete zu installieren. Zugegeben, wir haben sie nicht alle getestet.

JLeC
quelle
1
Zumindest funktioniert mein Jupyter Notebook immer noch mit der Standard (kostenlosen) Anaconda-Version. Könnten Sie näher erläutern, woher Sie diese Informationen haben? Zumindest auf der offiziellen Anaconda-Homepage ist Jupyter noch gelistet.
MSeifert
2
Dies ist sachlich falsch. Jupyter / IPython war schon immer in kostenlosem Anaconda verfügbar. FWIW, Continuum Analytics (Hersteller von Anaconda) beschäftigt mehrere Jupyter-Kernentwickler.
Peter Wang
Bitte korrigieren Sie Ihre falsche Antwort. Auf der ipython-Website erfahren Sie sogar, wie Sie mit Anaconda installieren: ipython.org/install.html
Bradley Kreider