Esiste qualcosa come RStudio per Python? [chiuso]


172

In RStudio, è possibile eseguire parti di codice nella finestra di modifica del codice e i risultati vengono visualizzati nella console.

Puoi anche fare cose interessanti come selezionare se vuoi eseguire tutto fino al cursore, o tutto dopo il cursore, o solo la parte selezionata e così via. E ci sono tasti di scelta rapida per tutte queste cose.

È come un passo sopra la shell interattiva in Python: lì puoi usare readline per tornare alle singole righe precedenti, ma non ha alcun "concetto" di cosa sia una funzione, una sezione di codice, ecc.

Esiste uno strumento del genere per Python? Oppure, hai una sorta di soluzione simile che usi, diciamo, in vim?

python  ide 

inoltre in RStudio c'è il supporto per i file .Rnw che trovo particolarmente utili per la creazione di file pdf automatizzati. Sto ancora cercando un buon IDE Python.
Moldavo

1
Puoi vedere i dettagli delle variabili e, soprattutto, aiutare il file all'interno di Rstudio
Ankit,

18
Eclipse PyDev, Jupyter e Spyder / Anaconda sono sostituti decenti , ma nessuno di questi è facile da lavorare come RStudio. Il completamento del codice, le scorciatoie per cambiare area, l'installazione interattiva di pacchetti, le schede con riposizionamento dell'ordine, il riquadro della documentazione, rendono RStudio più semplice da usare. Python ha alcuni enormi vantaggi come linguaggio, ma IMHO senza Python IDE è a livello di RStudio.

2
Ho iniziato a usare Rodeo, tuttavia è molto difettoso. Niente è paragonabile a RStudio. Python avrà sempre quella debolezza per l'analisi e l'esplorazione dei dati fino a quando non viene creato un IDE adeguato con l'analisi e l'esplorazione dei dati come obiettivo principale.
codingknob,

1
RStudio ora supporta Python: blog.rstudio.com/2018/10/09/…
Oliver Oliver

Risposte:


51

I notebook di IPython sono fantastici. Ecco un altro strumento più recente basato su browser che ho scoperto di recente: Rodeo . La mia impressione è che sembra supportare meglio un flusso di lavoro simile a RStudio.

Schermata del rodeo


1
Grande scoperta! IMO RStudio è la migliore interfaccia utente per l'analisi dei dati, sempre alla ricerca di qualcosa di simile per Python.
visitantz,

4
Yhat ha rilasciato Rodeo 2.0 (app nativa non uno strumento browser) per Windows, Mac e Linux nel 2016. È molto più stabile di quanto non fosse e ha molte nuove funzionalità come l'evidenziazione della sintassi e tutorial integrati. Sicuramente vale la pena dare un'occhiata se ti piace RStudio!
Elise Breda,

8
La mia impressione all'inizio del 2017 è che Rodeo si senta ancora come un progetto molto nuovo e non può essere paragonato a RStudio in termini di funzionalità o personalizzazioni dell'interfaccia utente. E sembra abbastanza difettoso. Credo che Spyder sia molto più maturo e vicino ad essere una vera alternativa a RStudio, ma YMMV.
Jealie,

Annuncio "app nativa non uno strumento browser": da quello che posso vedere Rodeo 2.0 utilizza Electron . È ancora uno strumento browser, solo ora viene fornito con un proprio browser per far sembrare che sia un'app nativa. (Vale anche la pena ricordare che viene fornito con una dipendenza da NodeJS.)
Phillip

1
Il link fornito sembra attualmente (2019-03) obsoleto. Ho trovato questa discussione indicando problemi con Rodeo in generale: github.com/yhat/rodeo/issues/655
Qaswed il

32

Jupyter Notebook (precedentemente noto come notebook IPython ) è un progetto davvero interessante per la manipolazione interattiva dei dati in Python (e in altre lingue, tra cui R). Fondamentalmente ti consente di codificare e documentare interattivamente ciò che stai facendo in un'unica interfaccia e successivamente salvarlo come:

  • quaderno ( .ipynb )
  • script (un file .py che include solo il codice sorgente)
  • HTML statico (e quindi anche pdf)

Puoi persino condividere i tuoi blocchi appunti online con altri utenti utilizzando il servizio nbviewer , dove le persone pubblicano libri interi . Inoltre, GitHub esegue il rendering dei tuoi file .ipynb . Puoi pubblicare i tuoi quaderni Jupyter come articoli di ricerca riproducibili su Authorea . Per l'editing collaborativo di più utenti, dai un'occhiata a Google Colab basato su Jupyter.

Screenshot del taccuino di Jupyter

La versione predefinita di Jupyter Notebook avvia un'applicazione Web localmente (o la distribuisci su un server) e la usi dal tuo browser. Come Ryan ha anche menzionato nella sua risposta , Rodeo è un'interfaccia più simile a RStudio costruita sopra il kernel di Jupyter.

JupyterLab è una versione più recente dell'interfaccia utente che consente una maggiore flessibilità nel modo in cui si modificano i notebook, si controllano i widget interattivi e si eseguono persino i comandi negli emulatori di terminale.

C'è anche una console Qt per IPython , un progetto simile con grafici in linea, che è un'applicazione desktop.

Jupyter è un normale pacchetto Python e può essere installato usando pip install jupyter. Per ottenere tutte le librerie scientifiche in esecuzione sul tuo computer, tuttavia, potrebbe essere più semplice provare i contenitori Jupyter Docker ufficiali . Ad esempio, supponendo che i notebook siano in ~ / code / jupyter , è possibile eseguire il contenitore come:

docker run -it --rm -p 8888:8888 -v ~/code/jupyter:/home/jovyan/work jupyter/datascience-notebook

Vi è tuttavia una differenza molto importante: le persone che dispongono di account sulla macchina su cui è in esecuzione il server Web RStudio, possono accedere al server e utilizzarlo in modo "time-sharing" sulla stessa porta. IPython 2.x non supporta questo: se si desidera che 2 persone accedano allo stesso server, è necessario eseguire 2 istanze del server su 2 porte diverse che non si adattano facilmente.
Laryx Decidua,

Sì, è corretto. Tuttavia, il lavoro iniziale in IPython 3.x viene eseguito per supportare notebook multiutente.
metakermit,

1
Un'altra differenza fondamentale è il formato ridicolo (IMHO) del "notebook". In RStudio è possibile aprire uno script, passarlo all'interprete e quindi interagire con l'interprete. La sceneggiatura è da una parte, l'interprete dall'altra. Poiché IPython ha il suo formato, non puoi semplicemente aprire uno script, che se modificato in un notebook ha un formato diverso.
Michael,

È quindi possibile importare uno script alla lettera come modulo e armeggiare con qualsiasi variabile o funzione definita all'interno del notebook. Nella direzione opposta, è possibile esportare direttamente un notebook IPython come file .py. Non è certo un IDE, comunque.
metakermit,

1
@ kermit666 JupyterHub ( github.com/jupyter/jupyterhub ) è la soluzione che sto attualmente utilizzando per i notebook multiutente accessibili sul Web. Funziona abbastanza bene. Consigliato.
Laryx Decidua,

31

spyder o installa python (x, y). è grande.

Se non conosci Python, puoi installare la distribuzione gratuita di Anaconda ( http://continuum.io/downloads.html ), che installerà Spyder per te, così come Python 2.7 e IPython. Spyder è molto simile a RStudio.


5
Ho cercato un flusso di lavoro come R con un editor di testo per Python da un po 'di tempo e Spyder sembra farlo. Ho una finestra dell'editor di testo e una finestra di Python. Metto in evidenza alcune righe nell'editor di testo e premo F9 e vengono eseguite nell'interprete. Semplice, ma esattamente quello che stavo cercando.
kpierce8,

Spyder è ottimo come equivalente locale di RStudio (anche se manca il facile accesso remoto al browser della versione del server).
Michael,

22

Dai un'occhiata a Rodeo di Yhat se stai cercando qualcosa come RStudio per Python.

Rodeo ha:

  • editor di testo (usa Atom sotto il cofano)
  • Modalità Vim / Emacs
  • una console IPython
  • completamento automatico
  • docstrings
  • capacità di vedere grafici, frame di dati, variabili

1
Il link fornito sembra attualmente (2019-03) obsoleto. Ho trovato questa discussione indicando problemi con Rodeo in generale: github.com/yhat/rodeo/issues/655
Qaswed il

22

Potresti voler esaminare JupyterLab (la prossima generazione di Notbook Jupyter): https://github.com/jupyter/jupyterlab .

JupyterLab mira a creare un'esperienza più simile al desktop sul Web.

Aggiornamento : da marzo 2018 JupyterLab è in versione beta. "Le versioni beta sono adatte per un utilizzo generale. Per gli sviluppatori di estensioni JupyterLab, le API delle estensioni continueranno ad evolversi fino alla versione 1.0. Alla fine, JupyterLab sostituirà il classico notebook Jupyter dopo che JupyterLab avrà raggiunto la 1.0. "

Per eseguire Jupyter Lab come applicazione desktop, consultare christopherroach.com/articles/jupyterlab-desktop-app (Grazie a PatrickT ).

Ecco una rapida anteprima:

inserisci qui la descrizione dell'immagine

È possibile disporre un notebook accanto a una console grafica in cima a un terminale che sta monitorando il sistema, mantenendo il file manager sulla sinistra:

inserisci qui la descrizione dell'immagine

Per ulteriori dettagli, consultare: https://blog.jupyter.org/2016/07/14/jupyter-lab-alpha/ e qui: http://www.techatbloomberg.com/blog/inside-the-collaboration-that- built-the-open-source-jupyterlab-project / .


1
Sembra bello. Questo si apre nel tuo browser (è così ovvio che non lo hai menzionato). Lo trovo irritante. Avrei creato un browser dedicato se avessi usato questo. Esiste un browser consigliato per jupyterlab?
Patrick,

1
Grazie per il link! L'ho aggiunto alla descrizione.
Maj

14

Pycharm è un IDE davvero decente. Da quello che ho visto finora è il più simile a Rstudio. Un altro bel pezzo è che ti permette di installare nuove librerie Python in un modo simile a Rstudio (che altrimenti potrebbe essere un incubo). Ora esiste un'edizione gratuita per la "comunità".

inserisci qui la descrizione dell'immagine


Potrei aggiungere che ha il supporto per i file jupyter / ipython, quindi potresti combinarlo con la risposta migliore. (Non sono sicuro se fa parte della versione gratuita).
Segna il

PyCharm ti consente anche di eseguire una selezione di codice!
4/11

7

Penso che valga la pena menzionare che l'anteprima di RStudio v1.1.359 è stata rilasciata. Ha funzionalità terminali che possono essere utilizzate per Python.

Il download è disponibile qui

La documentazione è disponibile qui


4

spyder ti serve! https://code.google.com/p/spyderlib/
Spyder (precedentemente noto come Pydee) è un potente ambiente di sviluppo interattivo per il linguaggio Python con funzionalità avanzate di modifica, test interattivi, debug e introspezione


0

Per una shell interattiva più bella per Python, dai un'occhiata a DreamPie . In realtà non è un IDE (come sembra essere RStudio?)


0

Wing IDE, e probabilmente anche altri IDE Python come PyCharm e PyDev hanno caratteristiche come questa. In Wing è possibile selezionare ed eseguire il codice nella Python Shell integrata oppure, se si esegue il debug di qualcosa, è possibile interagire con il programma di debug in pausa in una shell (chiamata Debug Probe). Esiste anche un supporto speciale per matplotlib, nel caso in cui lo utilizzi, in modo da poter lavorare con i grafici in modo interattivo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.