Was sind die Unterschiede zwischen ipython und bpython?

87

Was bedeutet ipythonhaben , dass bpythonkehrt fehlt und Laster? Wie unterscheiden sich die beiden?

igorgue
quelle
59
Ich bin mit der Entscheidung, diese Frage zu schließen, nicht einverstanden. Es ist eine ausgezeichnete Frage, die tatsächliche, sachliche Antworten enthält, die nicht auf Meinungen beruhen und die ich gerne wissen würde. Das Auflisten der einzelnen Funktionen ist keine Meinung, sondern eine Tatsache. Entweder ist eine Funktion vorhanden oder nicht. Ob sich das Feature lohnt, ist eine Meinung, aber das ist nicht die Frage, die gestellt wird.
ArtOfWarfare
Schauen Sie sich bypython-curtsies an, es löscht den Bildschirm beim Start nicht und es hat einige andere nette Funktionen: pip install git+https://github.com/thomasballinger/bpython.git@curtsies
Nick Sweeting

Antworten:

69

Wenn Sie nur einen interaktiven Interpreter benötigen, sollte bpython in Ordnung sein. Verwenden Sie es einfach, bis Sie eine Funktion verpassen, die Ihnen an IPython gefallen hat.

Es gibt viele Funktionen, die IPython gegenüber bpython bietet:

  • Spezielle Einfädeloptionen. Ich -gthreadexperimentiere gerne mit PyGTK und -pylabmit Matplotlib.

  • direkter Aufruf von Shell-Befehlen. cdin IPython ist sehr nützlich.

  • Volle Unterstützung der Readline-Bibliothek - Ich kann die gewohnten Tastaturkürzel verwenden.

  • Funktion zum erneuten Laden von Modulen - Sie können ein Modul gründlich neu laden, nachdem Sie Ihren Code geändert haben. Dies ist sehr nützlich zum Testen und Debuggen.

  • Führen Sie Funktionen im Hintergrund in einer separaten Aufgabe mit aus %bg.

  • Eine ganze parallele Programmierumgebung (nicht wirklich eine Funktion, die Sie von einer interaktiven Python-Shell erwarten, aber IPython bietet sie an).

Diese Liste könnte fast willkürlich fortgesetzt werden. Und natürlich wird es in bpython viele Funktionen geben, die IPython fehlt, aber Sie haben nicht danach gefragt.

Verwenden Sie also einfach die, die für Sie funktioniert !

Sven Marnach
quelle
Interessant, ich habe ipython auf meinem (Windows-) Laptop für die Tab-Vervollständigung verwendet und es bietet grundlegende Befehlszeile? Zeit, einige Dokumentationen zu lesen ...
bewundert
1
Was Herr Marnach gesagt hat, ist alles wahr, und ich habe nicht viel hinzuzufügen, abgesehen davon: Ich verwende beide mit gleicher Häufigkeit - bpython ist besonders praktisch, um Pakete und Live-Objekthierarchien zu untersuchen und Snippets einzufügen; ipythons Verknüpfungen docstring / help / source-view ( thing?und thing??) sind unverzichtbar.
fish2000
1
Die Möglichkeit, vi-Tastenkombinationen zu verwenden, ist wahrscheinlich der Hauptgrund, warum ich ipython verwende.
wbg
Ist diese Antwort noch aktuell? Es ist viel Zeit vergangen
baxx
@baxx Ich weiß es nicht, aber ipython ist definitiv die beliebteste Option.
Sven Marnach
37

IPython Notebook (seit 0.12) ist eine Killer-Funktion.

matlabdbuser
quelle
2
Ipython rockt. für Anwendungsfälle, in denen bpython besser passte als ipython, obwohl ich dies bevorzuge: github.com/jonathanslenders/ptpython . Schnellere Ausgabe als der Bpython-Knicks-Modus und die Ansi-Farbausgabe funktionieren.
Rote Pille