Quelles sont les différences entre ipython et bpython?

88

Qu'est-ce ipythonqui bpythonmanque et vice versa? En quoi les deux diffèrent-ils?

igorgue
la source
59
Je ne suis pas d'accord avec la décision de clore cette question. C'est une excellente question qui a des réponses réelles et factuelles qui ne sont pas basées sur des opinions que j'aimerais savoir. Énumérer les caractéristiques propres à chacun n'est pas une opinion - c'est un fait. Soit une fonctionnalité est présente, soit elle ne l'est pas. Si la fonctionnalité vaut la peine d'avoir une opinion, mais ce n'est pas la question qui se pose.
ArtOfWarfare
consultez bypython-curtsies, il ne vide pas l'écran au lancement, et il a quelques autres fonctionnalités intéressantes: pip install git+https://github.com/thomasballinger/bpython.git@curtsies
Nick Sweeting

Réponses:

70

Si vous voulez juste un interpréteur interactif, bpython devrait convenir. Utilisez-le jusqu'à ce que vous manquiez une fonctionnalité que vous avez appréciée sur IPython.

IPython offre de nombreuses fonctionnalités sur bpython:

  • Options de filetage spéciales. J'aime -gthreadexpérimenter avec PyGTK et -pylabpour matplotlib.

  • appel direct des commandes shell. cddans IPython est assez utile.

  • Prise en charge complète de la bibliothèque readline - Je peux utiliser les raccourcis clavier auxquels je suis habitué.

  • Fonction de rechargement du module - Vous pouvez effectuer un rechargement en profondeur d'un module après avoir changé votre code. Ceci est très utile pour les tests et le débogage.

  • Exécutez des fonctions en arrière-plan dans une tâche distincte avec %bg.

  • Tout un environnement de programmation parallèle (pas vraiment une fonctionnalité que vous attendez d'un shell Python interactif, mais IPython l'offre).

Cette liste pourrait être poursuivie presque arbitrairement. Et bien sûr, il y aura beaucoup de fonctionnalités dans bpython qui manqueront à IPython, mais vous ne les avez pas demandées.

Alors utilisez simplement celui qui vous convient!

Sven Marnach
la source
intéressant, j'utilise ipython sur mon ordinateur portable (Windows) pour compléter les onglets, et il offre une ligne de commande de base? il est temps de lire de la documentation ...
admalledd
1
Ce que M. Marnach a dit est tout à fait vrai, et je n'ai pas grand chose à ajouter à part: je les utilise tous les deux avec la même fréquence - bpython est particulièrement pratique pour inspecter les paquets et les hiérarchies d'objets en direct, et pour coller des extraits; Les raccourcis docstring / help / source-view d'ipython ( thing?et thing??) sont indispensables.
fish2000
1
pouvoir utiliser les raccourcis clavier vi est probablement la principale raison pour laquelle j'utilise ipython.
wbg
cette réponse est-elle toujours d'actualité? Il y a eu beaucoup de temps passé
baxx le
@baxx Je ne sais pas, mais ipython est certainement l'option la plus populaire.
Sven Marnach
37

IPython Notebook (depuis la version 0.12) est une fonctionnalité qui tue.

matlabdbuser
la source
2
ipython roches. pour les cas d'utilisation où bpython convient mieux que ipython bien que je préfère ceci: github.com/jonathanslenders/ptpython . Une sortie plus rapide que le mode bpython curtsies et la sortie couleur ansi fonctionne.
Red Pill du