Gibt es so etwas wie RStudio für Python? [geschlossen]

172

In RStudio können Sie Teile des Codes im Codebearbeitungsfenster ausführen, und die Ergebnisse werden in der Konsole angezeigt.

Sie können auch coole Dinge tun, z. B. auswählen, ob alles bis zum Cursor ausgeführt werden soll oder alles nach dem Cursor oder nur der Teil, den Sie ausgewählt haben, und so weiter. Und es gibt Hotkeys für all das Zeug.

Es ist wie ein Schritt über der interaktiven Shell in Python - dort können Sie readline verwenden, um zu vorherigen einzelnen Zeilen zurückzukehren, aber es gibt kein "Konzept" für eine Funktion, einen Codeabschnitt usw.

Gibt es so ein Tool für Python? Oder haben Sie eine ähnliche Problemumgehung, die Sie beispielsweise in vim verwenden?


quelle
Außerdem gibt es in RStudio Unterstützung für .Rnw-Dateien, die ich besonders nützlich für die Erstellung automatisierter PDF-Dateien finde. Ich bin immer noch auf der Suche nach einer guten Python-IDE.
Moldawien
1
Sie können Variablendetails und vor allem Hilfedatei im Rstudio
Ankit
18
Eclipse PyDev, Jupyter und Spyder / Anaconda sind anständige Ersatzspieler, aber keiner von ihnen ist so einfach zu bedienen wie RStudio. Die Code-Vervollständigung, Verknüpfungen zum Wechseln von Bereichen, die interaktive Installation von Paketen, Registerkarten mit Neupositionierung der Reihenfolge und der Dokumentationsbereich vereinfachen die Verwendung von RStudio. Python hat einige große Vorteile als Sprache, aber meiner Meinung nach ist keine Python-IDE auf RStudio-Ebene.
2
Ich habe angefangen, Rodeo zu benutzen, aber es ist sehr fehlerhaft. Nichts ist vergleichbar mit RStudio. Python wird immer diese Schwäche für Datenanalyse und -exploration haben, bis eine ordnungsgemäße IDE mit Datenanalyse und -exploration als primärem Ziel erstellt wurde.
Codierungsknopf
1
RStudio unterstützt jetzt Python: blog.rstudio.com/2018/10/09/…
Oliver Oliver

Antworten:

51

IPython-Notebooks sind fantastisch. Hier ist ein weiteres, neueres browserbasiertes Tool, das ich kürzlich entdeckt habe: Rodeo . Mein Eindruck ist, dass es einen RStudio-ähnlichen Workflow besser zu unterstützen scheint.

Rodeo-Screenshot

Ryan
quelle
1
Toller Fund! IMO RStudio ist die beste Benutzeroberfläche für die Datenanalyse und sucht immer nach etwas Ähnlichem für Python.
Visitantz
4
Yhat hat 2016 Rodeo 2.0 (native App, kein Browser-Tool) für Windows, Mac und Linux veröffentlicht. Es ist viel stabiler als es war und verfügt über viele neue Funktionen wie Syntaxhervorhebung und integrierte Tutorials. Auf jeden Fall einen Besuch wert, wenn Sie RStudio mögen!
Elise Breda
8
Mein Eindruck Anfang 2017 ist, dass Rodeo sich immer noch wie ein sehr neues Projekt anfühlt und hinsichtlich Funktionen oder Anpassungen der Benutzeroberfläche nicht mit RStudio verglichen werden kann. Und es scheint ziemlich fehlerhaft. Ich glaube, Spyder ist viel reifer und fast eine echte RStudio-Alternative, aber YMMV.
Jealie
Anzeige "native App kein Browser-Tool": Soweit ich sehen kann, verwendet Rodeo 2.0 Electron . Es ist immer noch ein Browser-Tool, nur dass es jetzt über einen eigenen Browser verfügt, damit es sich wie eine native App anfühlt. (Es ist auch erwähnenswert, dass es mit einer Abhängigkeit von NodeJS kommt.)
Phillip
1
Der bereitgestellte Link scheint derzeit (2019-03) veraltet zu sein. Ich fand diesen Thread mit Problemen mit Rodeo im Allgemeinen: github.com/yhat/rodeo/issues/655
Qaswed
32

Jupyter Notebook (früher bekannt als IPython Notebook ) ist ein wirklich cooles Projekt für die interaktive Datenmanipulation in Python (und anderen Sprachen, einschließlich R). Grundsätzlich können Sie interaktiv codieren und dokumentieren, was Sie in einer Oberfläche tun, und es später speichern als:

  • Notizbuch ( .ipynb )
  • Skript (eine .py- Datei, die nur den Quellcode enthält)
  • statisches HTML (und damit auch PDF)

Sie können Ihre Notizbücher sogar online mit anderen teilen, indem Sie den nbviewer- Dienst verwenden, bei dem Benutzer ganze Bücher veröffentlichen . Darüber hinaus rendert GitHub Ihre .ipynb- Dateien. Sie können Ihre Jupyter-Notizbücher als reproduzierbare Forschungsartikel auf Authorea veröffentlichen . Informationen zur gemeinsamen Bearbeitung durch mehrere Benutzer finden Sie in Google Colab, das auf Jupyter basiert.

Jupyter Notebook Screenshot

Die Standardversion von Jupyter Notebook startet eine Webanwendung lokal (oder Sie stellen sie auf einem Server bereit) und verwenden sie über Ihren Browser. Wie Ryan auch in seiner Antwort erwähnte , ist Rodeo eine Schnittstelle, die RStudio ähnelt und auf dem Jupyter-Kernel basiert.

JupyterLab ist eine neuere der Benutzeroberfläche, die mehr Flexibilität bei der Bearbeitung Ihrer Notizbücher, der Steuerung interaktiver Widgets und sogar der Ausführung von Befehlen in Terminalemulatoren bietet.

Es gibt auch eine Qt-Konsole für IPython , ein ähnliches Projekt mit Inline-Plots, bei dem es sich um eine Desktop-Anwendung handelt.

Jupyter ist ein normales Python-Paket und kann mit installiert werden pip install jupyter. Um alle wissenschaftlichen Bibliotheken auf Ihrem Computer zum Laufen zu bringen, ist es möglicherweise einfacher, die offiziellen Jupyter Docker-Container zu testen . Angenommen, Ihre Notizbücher befinden sich in ~ / code / jupyter , können Sie den Container wie folgt ausführen:

docker run -it --rm -p 8888:8888 -v ~/code/jupyter:/home/jovyan/work jupyter/datascience-notebook
Metakermit
quelle
Es gibt jedoch einen sehr wichtigen Unterschied: Personen, die Konten auf dem Computer haben, auf dem der RStudio-Webserver ausgeführt wird, können sich beim Server anmelden und ihn über denselben Port "zeitlich geteilt" verwenden. IPython 2.x unterstützt dies nicht: Wenn Sie möchten, dass 2 Personen auf demselben Server darauf zugreifen, müssen Sie 2 Serverinstanzen an 2 verschiedenen Ports ausführen, was nicht einfach zu skalieren ist.
Laryx Decidua
Ja das ist richtig. Erste Arbeiten in IPython 3.x werden jedoch durchgeführt, um Mehrbenutzer-Notebooks zu unterstützen.
Metakermit
1
Ein weiterer wesentlicher Unterschied ist das (IMHO) lächerliche Format des "Notebooks". In RStudio können Sie ein Skript öffnen, an den Interpreter übergeben und dann mit dem Interpreter interagieren. Das Skript befindet sich auf der einen Seite, der Interpreter auf der anderen. Da IPython ein eigenes Format hat, können Sie nicht einfach ein Skript öffnen, das, wenn es in einem Notizbuch bearbeitet wird, ein anderes Format hat.
Michael
Sie können ein Skript wörtlich als Modul importieren und dann mit allen Variablen oder Funktionen basteln, die es im Notizbuch definiert. In der entgegengesetzten Richtung können Sie ein IPython-Notizbuch direkt als .py-Datei exportieren. Es ist jedoch keine IDE sicher.
Metakermit
1
@ kermit666 JupyterHub ( github.com/jupyter/jupyterhub ) ist die Lösung, die ich derzeit für Mehrbenutzer-Notebooks verwende, auf die über das Web zugegriffen werden kann . Funktioniert ganz gut. Empfohlen.
Laryx Decidua
31

spyder oder installiere python (x, y). Es ist großartig.

Wenn Sie Python noch nicht kennen, können Sie die kostenlose Anaconda-Distribution ( http://continuum.io/downloads.html ) installieren, mit der Spyder für Sie installiert wird, sowie Python 2.7 und IPython. Spyder ist RStudio sehr ähnlich.

Echo
quelle
5
Ich habe seit einiger Zeit nach einem Workflow wie R mit einem Texteditor für Python gesucht, und Spyder scheint dies zu tun. Ich habe ein Texteditorfenster und ein Pythonfenster. Ich hebe ein paar Zeilen im Texteditor hervor und drücke F9 und sie werden im Interpreter ausgeführt. Einfach, aber genau das, wonach ich gesucht habe.
kpierce8
Spyder eignet sich hervorragend als lokales Äquivalent zu RStudio (obwohl ihm der einfache Remote-Browserzugriff der Serverversion fehlt).
Michael
22

Schauen Sie sich Rodeo von Yhat an, wenn Sie nach etwas wie RStudio für Python suchen.

Rodeo hat:

  • Texteditor (verwendet Atom unter der Haube)
  • Vim / Emacs-Modus
  • eine IPython-Konsole
  • Autocomplete
  • docstrings
  • Fähigkeit, Diagramme, Datenrahmen, Variablen zu sehen
Elise Breda
quelle
1
Der bereitgestellte Link scheint derzeit (2019-03) veraltet zu sein. Ich fand diesen Thread mit Problemen mit Rodeo im Allgemeinen: github.com/yhat/rodeo/issues/655
Qaswed
22

Vielleicht möchten Sie sich JupyterLab (die nächste Generation von Jupyter Notbooks) ansehen: https://github.com/jupyter/jupyterlab .

JupyterLab zielt darauf ab, eine Desktop-ähnliche Erfahrung im Web zu schaffen.

Update : Ab März 2018 befindet sich JupyterLab in der Beta. "Die Beta-Versionen sind für den allgemeinen Gebrauch geeignet. Für Entwickler von JupyterLab-Erweiterungen werden sich die Erweiterungs-APIs bis zur Version 1.0 weiterentwickeln. Schließlich wird JupyterLab das klassische Jupyter-Notebook ersetzen, nachdem JupyterLab 1.0 erreicht hat. "

Informationen zum Ausführen von Jupyter Lab als Desktop-Anwendung finden Sie unter christopherroach.com/articles/jupyterlab-desktop-app (Dank an PatrickT ).

Hier ist eine kurze Vorschau:

Geben Sie hier die Bildbeschreibung ein

Sie können ein Notizbuch neben einer grafischen Konsole auf einem Terminal anordnen, das das System überwacht, während der Dateimanager links bleibt:

Geben Sie hier die Bildbeschreibung ein

Weitere Informationen finden Sie unter: https://blog.jupyter.org/2016/07/14/jupyter-lab-alpha/ und hier: http://www.techatbloomberg.com/blog/inside-the-collaboration-that- baute-das-Open-Source-Jupyterlab-Projekt / .

Majom
quelle
1
Sieht gut aus. Dies wird in Ihrem Browser geöffnet (es ist so offensichtlich, dass Sie es nicht erwähnt haben). Ich finde das irritierend. Ich würde einen dedizierten Browser einrichten, wenn ich diesen verwenden würde. Gibt es einen empfohlenen Browser für jupyterlab?
PatrickT
1
Danke für den Link! Ich habe es der Beschreibung hinzugefügt.
Majom
14

Pycharm ist eine wirklich anständige IDE. Nach dem, was ich bisher gesehen habe, ist es Rstudio am ähnlichsten. Ein weiteres schönes Stück ist, dass Sie damit neue Python-Bibliotheken auf ähnliche Weise wie Rstudio installieren können (was sonst ein Albtraum sein kann). Es gibt jetzt eine kostenlose Community-Edition.

Geben Sie hier die Bildbeschreibung ein

mmann1123
quelle
Ich könnte hinzufügen, dass es Unterstützung für Jupyter / Ipython-Dateien bietet, sodass Sie es mit der Top-Antwort kombinieren können. (Nicht sicher, ob das Teil der kostenlosen Version ist).
Mark
Mit PyCharm können Sie auch eine Auswahl an Code ausführen!
4d11
7

Ich denke, es lohnt sich zu erwähnen, dass RStudio v1.1.359 Preview veröffentlicht wurde. Es verfügt über eine Terminalfunktion, die für Python verwendet werden kann.

Der Download ist hier verfügbar

Dokumentation finden Sie hier

Sankalp
quelle
4

Spyder brauchen Sie! https://code.google.com/p/spyderlib/
Spyder (früher bekannt als Pydee) ist eine leistungsstarke interaktive Entwicklungsumgebung für die Python-Sprache mit erweiterten Funktionen für Bearbeitung, interaktives Testen, Debuggen und Selbstbeobachtung

duhan
quelle
0

Eine schönere interaktive Shell für Python finden Sie in DreamPie . Es ist jedoch nicht wirklich eine IDE (wie scheint RStudio zu sein?)

Steven
quelle
0

Wing IDE und wahrscheinlich auch andere Python-IDEs wie PyCharm und PyDev verfügen über solche Funktionen. In Wing können Sie entweder Code in der integrierten Python-Shell auswählen und ausführen oder, wenn Sie etwas debuggen, mit dem angehaltenen Debug-Programm in einer Shell (Debug Probe genannt) interagieren. Es gibt auch spezielle Unterstützung für matplotlib, falls Sie diese verwenden, damit Sie interaktiv mit Plots arbeiten können.

Wingware
quelle