ipython和bpython有什么区别?

110

ipythonbpython有什么不同之处?它们各自具备什么特点?


69
我不同意关闭这个问题的决定。这是一个非常好的问题,有实际、真实的答案,不基于观点,我想了解它们。列出每个特点的独特之处不是观点,而是事实。无论特点是否值得拥有都是一个观点,但这并不是提出的问题。 - ArtOfWarfare
试试看用python-curtsies,它在启动时不会清除屏幕,并且还有一些其他很棒的功能:pip install git+https://github.com/thomasballinger/bpython.git@curtsies - Nick Sweeting
2个回答

78
如果您只需要一个交互式解释器,bpython应该就可以了。只需使用它,直到您错过IPython中的某些功能。 IPython提供了许多bpython所不具备的特性: - 特殊线程选项。我喜欢试验PyGTK和matplotlib时使用的-gthread和-pylab。 - 直接调用shell命令。在IPython中使用cd非常有用。 - 完整的readline库支持,我可以使用我习惯的键盘快捷键。 - 模块重载设施 - 在修改您的代码后,您可以对模块进行深度重载。这对于测试和调试非常有用。 - 使用%bg在单独的任务中将函数后台运行。 - 整个并行编程环境(这不是你期望从一个交互式Python shell中得到的功能,但IPython提供了它)。
这个列表可以任意继续下去。当然,bpython中也会有很多IPython缺少的功能,但您没有要求那些功能。 因此,选择适合自己的使用即可!

1
有趣,我一直在我的 (Windows) 笔记本电脑上使用 ipython 进行 tab completion,并且它提供基本的命令行?是时候阅读一些文档了... - admalledd
1
Marnach 先生所说的都是真的,我没有什么要补充的,除了:我将它们两个都同样频繁地使用——bpython 特别方便检查包和实时对象层次结构,并且用于粘贴代码片段;ipython 的文档字符串/帮助/源代码查看快捷键(thing?thing??)是必不可少的。 - fish2000
1
能够使用vi按键绑定可能是我使用ipython的头号原因。 - wbg
这个答案还有效吗?已经过了很长时间。 - baxx
@baxx 我不知道,但是 ipython 明显是更受欢迎的选择。 - Sven Marnach

39

3
IPython 真不错。但在某些情况下 bpython 更适合,尽管我更喜欢使用 https://github.com/jonathanslenders/ptpython。它的输出比 bpython 的 curtsies 模式更快,并且支持 ansi 颜色输出。 - Red Pill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接