Czy jest coś takiego jak RStudio dla Pythona? [Zamknięte]

172

W RStudio można uruchamiać części kodu w oknie edycji kodu, a wyniki pojawiają się w konsoli.

Możesz także robić fajne rzeczy, takie jak wybieranie, czy chcesz, aby wszystko aż do kursora działało, czy wszystko po kursorze, czy tylko wybrana część i tak dalej. Są też klawisze skrótów do tego wszystkiego.

To jest jak krok nad interaktywną powłoką w Pythonie - tam możesz użyć readline, aby wrócić do poprzednich pojedynczych linii, ale nie ma on żadnej "koncepcji" na temat tego, czym jest funkcja, sekcja kodu itp.

Czy istnieje takie narzędzie dla Pythona? A może masz podobne obejście, którego używasz, powiedzmy, w vimie?


źródło
poza tym RStudio obsługuje pliki .Rnw, które są szczególnie przydatne do tworzenia zautomatyzowanych plików pdf. Wciąż szukam dobrego środowiska Python IDE.
Moldovean
1
Zobaczysz szczegóły zmiennych i, co najważniejsze, plik pomocy w Rstudio
Ankit
18
Eclipse PyDev, Jupyter i Spyder / Anaconda są przyzwoitymi substytutami, ale żaden z nich nie jest tak łatwy w obsłudze jak RStudio. Uzupełnianie kodu, skróty do przełączania obszarów, interaktywna instalacja pakietów, zakładki z repozycjonowaniem zamówienia, panel dokumentacji - wszystko to sprawia, że ​​RStudio jest łatwiejsze w użyciu. Python ma ogromne zalety jako język, ale IMHO żadne Python IDE nie jest na poziomie RStudio.
2
Zacząłem używać Rodeo, jednak jest bardzo wadliwy. Nic nie może się równać z RStudio. Python zawsze będzie miał tę słabość do analizy i eksploracji danych, dopóki nie zostanie stworzone odpowiednie IDE, którego głównym celem jest analiza i eksploracja danych.
codingknob
1
RStudio obsługuje teraz Python: blog.rstudio.com/2018/10/09/…
Oliver Oliver

Odpowiedzi:

51

Notebooki IPython są niesamowite. Oto inne, nowsze narzędzie oparte na przeglądarce, które niedawno odkryłem: Rodeo . Mam wrażenie, że wydaje się lepiej obsługiwać przepływ pracy podobny do RStudio.

Zrzut ekranu z Rodeo

Ryan
źródło
1
Świetne znalezisko! IMO RStudio to najlepszy interfejs użytkownika do analizy danych, zawsze szukający czegoś podobnego dla Pythona.
visitantz
4
Yhat wypuścił Rodeo 2.0 (natywna aplikacja, a nie narzędzie przeglądarki) dla Windows, Mac i Linux w 2016. Jest dużo bardziej stabilny niż był i ma wiele nowych funkcji, takich jak podświetlanie składni i zintegrowane samouczki. Zdecydowanie warto sprawdzić, jeśli lubisz RStudio!
Elise Breda,
8
Moje wrażenie na początku 2017 roku jest takie, że Rodeo nadal wydaje się być bardzo nowym projektem i nie może się równać z RStudio pod względem funkcji lub dostosowań interfejsu użytkownika. I wydaje się dość wadliwy. Uważam, że Spyder jest znacznie bardziej dojrzały i bliski bycia prawdziwą alternatywą RStudio, ale YMMV.
Jealie,
Reklama „aplikacja natywna, a nie narzędzie przeglądarki”: Z tego co widzę, Rodeo 2.0 używa Electron . Nadal jest to narzędzie przeglądarki, tylko że teraz ma własną przeglądarkę, dzięki czemu wygląda jak natywna aplikacja. (Warto również wspomnieć, że jest zależny od NodeJS.)
Phillip
1
Podany link wydaje się obecnie (2019-03) być nieaktualny. Znalazłem ten wątek opisujący ogólnie problemy z Rodeo: github.com/yhat/rodeo/issues/655
Qaswed
32

Notatnik Jupyter (wcześniej znany jako notebook IPython ) to naprawdę fajny projekt do interaktywnej manipulacji danymi w Pythonie (i innych językach, w tym R). Zasadniczo pozwala na interaktywne kodowanie i dokumentowanie tego, co robisz w jednym interfejsie, a później zapisywanie jako:

  • notebook ( .ipynb )
  • skrypt (a .py plik zawierający tylko kod źródłowy)
  • statyczny html (a więc także pdf)

Możesz nawet udostępniać swoje notatniki online innym osobom, korzystając z usługi nbviewer , w której ludzie publikują całe książki . Ponadto GitHub świadczy swoje .ipynb plików. Możesz publikować swoje notatniki Jupyter jako odtwarzalne artykuły badawcze na Authorea . W przypadku wspólnego edytowania przez wielu użytkowników wypróbuj Google Colab zbudowany na bazie Jupyter.

Zrzut ekranu notebooka Jupyter

Domyślna wersja Jupyter Notebook uruchamia aplikację internetową lokalnie (lub wdrażasz ją na serwerze) i używasz jej z poziomu przeglądarki. Jak Ryan również wspomniał w swojej odpowiedzi , Rodeo jest interfejsem bardziej podobnym do RStudio zbudowanego na jądrze Jupyter.

JupyterLab to nowsze podejście do interfejsu użytkownika, które zapewnia większą elastyczność w edytowaniu notatników, sterowaniu interaktywnymi widżetami, a nawet uruchamianiu poleceń w emulatorach terminali.

Jest też konsola Qt dla IPython , podobny projekt z wbudowanymi wykresami, który jest aplikacją komputerową.

Jupyter to normalny pakiet Pythona i można go zainstalować za pomocą pip install jupyter. Aby jednak pobrać wszystkie biblioteki naukowe działające na komputerze, łatwiej będzie wypróbować oficjalne kontenery Jupyter Docker . Na przykład zakładając, że Twoje notatniki znajdują się w katalogu ~ / code / jupyter , możesz uruchomić kontener jako:

docker run -it --rm -p 8888:8888 -v ~/code/jupyter:/home/jovyan/work jupyter/datascience-notebook
metakermit
źródło
Jest jednak bardzo ważna różnica: osoby, które mają konta na komputerze, na którym działa serwer sieciowy RStudio, mogą zalogować się do serwera i używać go z podziałem czasu na tym samym porcie. IPython 2.x tego nie obsługuje: jeśli chcesz, aby 2 osoby miały do ​​niego dostęp na tym samym serwerze, musisz uruchomić 2 instancje serwera na 2 różnych portach, co nie daje się łatwo skalować.
Laryx Decidua
Tak, to jest poprawne. Jednak pierwsze prace w IPython 3.x mają na celu obsługę notebooków dla wielu użytkowników.
metakermit
1
Inną kluczową różnicą jest absurdalny format „notatnika” (IMHO). W RStudio możesz otworzyć skrypt, przekazać go tłumaczowi, a następnie komunikować się z tłumaczem. Scenariusz jest po jednej stronie, tłumacz po drugiej. Ponieważ IPython ma swój własny format, nie można po prostu otworzyć skryptu, który edytowany w notatniku ma inny format.
Michael
Możesz zaimportować skrypt dosłownie jako moduł i majstrować przy dowolnych zmiennych lub funkcjach, które definiuje wewnątrz notatnika. W przeciwnym kierunku możesz bezpośrednio wyeksportować notatnik IPython jako plik .py. Na pewno nie jest to jednak IDE.
metakermit
1
@ kermit666 JupyterHub ( github.com/jupyter/jupyterhub ) to rozwiązanie, którego obecnie używam do notebooków dla wielu użytkowników dostępnych w Internecie. Działa całkiem nieźle. Zalecana.
Laryx Decidua
31

spyder lub zainstaluj python (x, y). to jest wspaniałe.

Jeśli jesteś nowy w Pythonie, możesz zainstalować bezpłatną dystrybucję Anacondy ( http://continuum.io/downloads.html ), która zainstaluje Spyder, a także Python 2.7 i IPython. Spyder jest bardzo podobny do RStudio.

Echo
źródło
5
Szukałem przepływu pracy takiego jak R z edytorem tekstu dla Pythona od dłuższego czasu i wydaje się, że Spyder to robi. Mam okno edytora tekstu i okno Pythona. Podświetlam kilka wierszy w edytorze tekstu i wciskam F9 i uruchamiają się w interprecie. Proste, ale dokładnie to, czego szukałem.
kpierce8
Spyder świetnie sprawdza się jako lokalny odpowiednik RStudio (choć brakuje mu łatwego zdalnego dostępu do przeglądarki w wersji serwerowej).
Michael
22

Sprawdź Rodeo z Yhat, jeśli szukasz czegoś takiego jak RStudio dla Pythona.

Rodeo posiada:

  • edytor tekstu (używa Atom pod maską)
  • Tryb Vim / Emacs
  • konsola IPython
  • autouzupełnienie
  • dokumenty
  • możliwość przeglądania wykresów, ramek danych, zmiennych
Elise Breda
źródło
1
Podany link wydaje się obecnie (2019-03) być nieaktualny. Znalazłem ten wątek opisujący ogólnie problemy z Rodeo: github.com/yhat/rodeo/issues/655
Qaswed
22

Możesz zajrzeć do JupyterLab (kolejna generacja Jupyter Notbooks): https://github.com/jupyter/jupyterlab .

JupyterLab ma na celu stworzenie w sieci środowiska bardziej przypominającego środowisko komputerowe.

Aktualizacja : od marca 2018 JupyterLab jest w wersji beta. „Wersje beta są odpowiednie do ogólnego użytku. Dla twórców rozszerzeń JupyterLab interfejsy API rozszerzeń będą ewoluować aż do wydania 1.0. Ostatecznie JupyterLab zastąpi klasyczny Jupyter Notebook po osiągnięciu przez JupyterLab wersji 1.0 ”.

Aby uruchomić Jupyter Lab jako aplikację komputerową, odwiedź stronę christopherroach.com/articles/jupyterlab-desktop-app (podziękowania dla PatrickT ).

Oto szybki podgląd:

wprowadź opis obrazu tutaj

Możesz ustawić notatnik obok konsoli graficznej na terminalu monitorującym system, pozostawiając menedżera plików po lewej stronie:

wprowadź opis obrazu tutaj

Aby uzyskać więcej informacji, patrz: https://blog.jupyter.org/2016/07/14/jupyter-lab-alpha/ i tutaj: http://www.techatbloomberg.com/blog/inside-the-collaboration-that- zbudowany-projekt-jupyterlab-open-source / .

majom
źródło
1
Wygląda dobrze. Otwiera się w Twojej przeglądarce (to takie oczywiste, że o tym nie wspomniałeś). Uważam to za irytujące. Skonfigurowałbym dedykowaną przeglądarkę, gdybym miał tego używać. Czy istnieje zalecana przeglądarka dla jupyterlab?
PatrickT
1
Dzięki za link! Dodałem to do opisu.
majom
14

Pycharm to naprawdę przyzwoite IDE. Z tego, co do tej pory widziałem, najbardziej przypomina Rstudio. Kolejnym fajnym elementem jest to, że pozwala na instalację nowych bibliotek Pythona w sposób podobny do Rstudio (co w przeciwnym razie może być koszmarem). Dostępna jest teraz bezpłatna edycja „społeczności”.

wprowadź opis obrazu tutaj

mmann1123
źródło
Dodam, że obsługuje pliki jupyter / ipython, więc możesz połączyć to z najlepszą odpowiedzią. (Nie jestem pewien, czy to część bezpłatnej wersji).
Mark
PyCharm pozwala również uruchomić wybór kodu!
4d11
7

Myślę, że warto wspomnieć, że wydano RStudio v1.1.359 Preview. Posiada funkcję terminala, której można używać w Pythonie.

Pobieranie jest dostępne tutaj

Dokumentacja jest dostępna tutaj

sankalp
źródło
4

Spyder jest potrzebny! https://code.google.com/p/spyderlib/
Spyder (wcześniej znany jako Pydee) to potężne interaktywne środowisko programistyczne dla języka Python z zaawansowaną edycją, interaktywnym testowaniem, debugowaniem i introspekcją

duhan
źródło
0

Aby uzyskać ładniejszą interaktywną powłokę dla Pythona, spójrz na DreamPie . Nie jest to jednak tak naprawdę IDE (jak wydaje się być RStudio?)

Steven
źródło
0

Wing IDE i prawdopodobnie również inne środowiska IDE Pythona, takie jak PyCharm i PyDev, mają takie funkcje. W Wing możesz albo wybrać i wykonać kod w zintegrowanej powłoce Pythona, albo jeśli debugujesz coś, możesz wchodzić w interakcje z wstrzymanym programem debugowania w powłoce (zwanej sondą debugowania). Istnieje również specjalne wsparcie dla matplotlib, jeśli go używasz, dzięki czemu możesz interaktywnie pracować z wykresami.

Wingware
źródło