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?
quelle
Antworten:
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 einfachconda update packagename
aktualisieren.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.
quelle
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-scipy
und es ist da! Die meisten fortgeschrittenen Pakete gibt es auch.quelle
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.
quelle
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.
quelle