2010-11-20 11 views
65

Mi piace molto lo ipython ma uno dei miei colleghi mi ha mostrato bpython e mi è piaciuto molto [1].ipython o bpython?

Cosa significa che ipython ha quello bpython mancante e viceversa? Come differiscono i due?

[1] L'unica cosa che non mi piace è il fatto che cancella lo schermo quando inizia

+39

Non sono d'accordo con la decisione di chiudere questa domanda. È una domanda eccellente che ha risposte reali e concrete che non sono basate sull'opinione pubblica che vorrei sapere. Elencare le caratteristiche uniche per ciascuna non è un'opinione - è un dato di fatto. O una caratteristica è presente o non lo è. Se la caratteristica vale la pena avere è un'opinione, ma non è questa la domanda che viene posta. – ArtOfWarfare

+0

controlla bypython-curtsies, non cancella lo schermo all'avvio, e ha alcune altre caratteristiche chiare: 'pip install git + https: // github.com/thomasballinger/bpython.git @ curtsies' –

risposta

57

Se si desidera solo un interprete interattivo, bpython dovrebbe andare bene. Basta usarlo fino a quando manchi qualche funzionalità che ti piace su IPython.

ci sono un sacco di caratteristiche che IPython offre oltre bpython:

  • opzioni di threading speciali. Mi piace -gthread per sperimentare con PyGTK e -pylab per matplotlib.

  • invocazione diretta dei comandi della shell. cd in IPython è abbastanza utile.

  • Supporto completo della libreria readline: posso utilizzare le scorciatoie da tastiera a cui sono abituato.

  • Ricarica modulo - È possibile ricaricare in profondità un modulo dopo aver modificato il codice. Questo è molto utile per test e debug.

  • Eseguire le funzioni in background in un'attività separata con %bg.

  • Un intero ambiente di programmazione parallelo (non proprio una funzionalità che ci si aspetta da una shell Python interattiva, ma IPython lo offre).

Questo elenco potrebbe essere quasi arbitrariamente continuato. E ovviamente ci saranno molte funzionalità in bpython prive di IPython, ma non le hai chieste.

Quindi solo utilizzare quello che funziona per voi!

+0

interessante , Ho utilizzato ipython sul mio computer portatile (Windows) per il completamento della scheda e offre una linea di comando di base? tempo di leggere qualche documentazione ... – admalledd

+1

Quello che ha detto Marnach è tutto vero, e non ho molto da aggiungere: li uso entrambi con uguale frequenza - bpython è particolarmente utile per ispezionare i pacchetti e le gerarchie di oggetti live, e per snippet di pastebinning; le scorciatoie docstring/help/source-view di ipython ('thing?' e 'thing ??') sono indispensabili. – fish2000

32

IPython Notebook (da 0,12) è una caratteristica killer.

+2

+1 ... Il notebook IPython è impressionante –

+2

rocce ipython. per i casi d'uso in cui bpython si adattava meglio di ipython, anche se preferisco questo: https: // github.com/jonathanslenders/ptpython. Output più veloce rispetto alla modalità bpython curtsies e l'output a colori ansi funziona. –

+1

buon confronto qui: http://ballingt.com/prompt-toolkit –