2013-12-21 6 views
16

Ich verwende derzeit R für alle meine wissenschaftlichen Berechnungen und Plotten, aber ich würde gerne Python erkunden. Ich habe RStudio als eine IDE für R verwendet, die als eine IDE erfüllt 100% meines Bedarfs für wissenschaftliche Berechnung, Zahlenverarbeitung, Datenanalyse und Visualisierungen. Gibt es etwas Ähnliches für Python? Im Grunde Syntax-Hervorhebung, Code-Vervollständigung, intelligentes Einrücken, Code-Ausführung direkt aus dem Quell-Editor, Plotten innerhalb der IDE und Versionskontrolle (Git).Welche IDE für das wissenschaftliche Rechnen und Plotten in Python?

+4

Diese Frage ist ziemlich spezifisch, ich denke nicht, dass es geschlossen werden muss. – aIKid

+0

@aIKid es kommt immer noch auf: "Kann jemand eine Alternative zu diesem * anderen Produkt * empfehlen" –

+3

@JonClements Es könnte wirklich für andere in Zukunft nützlich sein. Es gibt wahrscheinlich nicht viele, und ich glaube nicht, dass dies Werbung oder Spam anziehen würde. – aIKid

Antwort

20

empfehle ich, dass Sie wie Anaconda oder Enthought Python eine vollständige wissenschaftliche Python-Distribution installieren, die die Pakete alles, was Sie für die Wissenschaft brauchen enthält (numpy, scipy, matplotlib, numba, Pandas, etc.)

für Wissenschaftliches Rechnen Der De-facto-Standard ist die Verwendung von IPython anstelle von Python. Es ist ein verbesserter Python-Interpreter, der Batterien enthält (Einrückung, Vervollständigung, Historie, HPC, usw.).

Für Sie IDE, Matlab-wie, haben Sie grundsätzlich eine Wahl: Spyder (die als eine grundlegende Git-Unterstützung). Die anderen IDEs sind netter, aber ihnen fehlen die Tools zum Überprüfen von Datensätzen. Spyder führt direkt eine IPython-Sitzung aus, die später mit anderen Tools bearbeitet werden kann.

Ein weiteres IPython-Notebook (jetzt bekannt als Jupyter) ist ein neues und sehr leistungsfähiges Werkzeug, besonders wenn Sie Ihren Code mit Latex-Code dokumentieren wollen. Ihre IPython-Sitzung ist eingebettet und direkt übertragbar auf andere, leicht versionierbar.

Sie können auch eine interaktive Präsentation direkt im Notebook ausführen, was eine gute Möglichkeit ist, Ergebnisse anzuzeigen. Betrachten Sie es als die Zukunft der Forschung, wo Ihre Ergebnisse interaktiv sind. Jeder, der das Notebook herunterladen kann, wird genau die gleichen Experimente durchführen.

an den mehreren Beispielen Werfen Sie einen Blick heraus schon da:

IPython notebook example

Wenn Sie im Browser arbeiten, nicht mögen, ich mein Setup vorschlagen, das ist:

  • Anaconda (Python-Distribution mit Wissenschaftspaketen)

  • Sublime Text 3 (leichter Code-Editor) mit der SublimeREPL, SublimeIPythonNotebook

  • IPython Qt Konsole (Inline-Plotten, Fertigstellung, gespeicherte Sitzungen gespeichert Datensätze usw.)

Denken Sie daran, dass alle IPython Frontends (IPython Konsole IPython QtConsole, IPython Notebook, SublimeREPL usw.) können mit derselben IPython-Core-Instanz verbunden werden.

So können Sie einfach verschiedene Werkzeuge zur gleichen Zeit mischen, je nach Ihren Bedürfnissen (Schreiben von Dokumentation, Schreiben von wissenschaftlichen Zeug, Code, Präsentation).

Ein IPython Kern sie alle :-)

+1

Könnten Sie näher ausführen, wie Sie die verschiedenen Tools an die gleiche IPython-Instanz anschließen - speziell möchte ich über SublimeREPL wissen – AdamAL

+0

Wissen, wie Vim und Tmux zusammen verwenden, kann eine andere Lösung auch sein, wenn Sie suchen eine IDE zum Arbeiten. –

2

Starten Sie mit jeder IDE, die unterstützt (in der Tat viele IDE heute unterstützt) Syntaxhervorhebung, Code-Vervollständigung, intelligente Einrückung, Code-Ausführung direkt aus dem Quelltext-Editor. Wenn Sie nicht sicher sind, beziehen sich die SO Frage What IDE to use for Python?

  • Als nächstes matplotlib für Ihre Plotten Bedürfnisse erkunden.
  • Als nächstes, was immer IDE Sie gewählt haben, suchen Sie nach einem Git-Plug-in. Wenn Ihre gewählte IDE keine hat, wählen Sie eine andere aus der IDE-Liste, die das notwendige Git-Plugin hat.
  • Installieren Sie die erforderlichen Pakete wie Numpy/Scipy/Sympy. Siehe den Link Numeric and Scientific

Hinweis Eclipse PyDev Berücksichtigung funktionieren könnte es Unterstützung für Git hat (EGit) und Sie würden kein Problem haben mit matplotlib zu integrieren. Tatsächlich gibt es einen anderen SO-Thread dediziert für Interactive matplotlib through Eclipse PyDev

Schließlich, wenn Sie auf einfache Entwicklung im Vergleich zu PyCharm oder PyDev opfern möchten, Scientific Python kann eine gute Option für Sie sein.

+0

@Kikohs: Ich habe Scipy nie als eine IDE erwähnt. Bitte lesen Sie die Antwort erneut. Die Antwort ist Skript, um einem Benutzer zu ermöglichen, eine anständige IDE mit einer Standard-Python-Installation zu erstellen, die für die wissenschaftliche Berechnung verwendet wird. – Abhijit

+0

Dein letzter Satz verweist auf www.scipy.org, es war mir nicht klar, dass du den ganzen Scipy-Stapel anstelle der Bibliothek scipy erwähnst. – Kikohs

4

Sie zu regieren Spyder versuchen könnten, die verwenden, Multi-Plattform, einfach bietet Syntax-Einfärbung, interaktive Fehlersuche etc. Sie werden auf Bibliotheken verlassen sich immer noch wie matplotlib oder NumPy, und die IDE selbst ist möglicherweise nicht gut genug, wenn Sie mit sehr großen Zahlenmengen arbeiten.

Es gibt auch andere ähnliche Projekte wie Python(x,y) oder WinPython (nur Windows), die versuchen, die Verwendung von Python für wissenschaftliche und technische Software-Entwicklung zu fördern/zu erleichtern.

1

Ich vermute, das ist ein Duplikat (zumindest teilweise) von this oder this Frage. Bisher habe ich IDLE, PyCharm, PHPStorm, Spyder, PyDev, Aptana, Wing, IPython und DreamPie empfohlen. Hab sie nicht alle ausprobiert, aber Spyder hat sich gut gehalten. Insgesamt habe ich die Enthought Python Distribution am besten gefunden, da sie mit Scipy, Numpy und anderen bereits enthaltenen Key-Paketen sowie Spyder IDE geliefert wird. Das Komplettpaket ist kommerziell (frei für Akademiker), aber es gibt auch eine free distribution.