bpython 功能强大的Python shell


Posted in Python onFebruary 16, 2016

Python是一个非常实用、流行的解释型编程语言,其优势之一就是可以借助其交互的shell进行探索式地编程。你可以试着输入一些代码,然后马上获得解释器的反馈,而不必专门写一个脚本。但是Python自带的shell也有一些局限性,例如无法自动补全、不能高亮语法等。

好在强大的Python对默认shell进行了扩展,开发了许多漂亮的Python shell。每一个都提供了一个极好的交互性的Python 体验。今天我就为大家介绍其中较为优秀的一款 — bpython。

bpython 功能强大的Python shell

bpython简介

bpython是一个不错的Python解释器的界面,开发者的目的是提供给用户所有的内置功能,很像现在的IDE(集成开发环境),但是将这些功能封装在在一个简单,轻量级的包里,可以在终端窗口里面运行。

bpython并不追求创造任何新的或者开创性的东西。相反,它聚集了一些简洁的理念,关注于实用性和操作性。

如何安装

bpython最新版本是0.15。有四种安装方式:

  • 官网下载最新版本的tarball:http://bpython-interpreter.org/releases/
  • 克隆bpython的Git仓库:git clone https://github.com/bpython/bpython/
  • 通过pip安装:pip install bpython
  • 通过系统自带的包管理器:apt-get install bpython

想让bpython正常运行的话,还需要安装以下依赖包:

Pygments requests curtsies >= 0.1.18,< 0.2 greenlet urwid (for bpython-urwid only)

具体功能

功能十分丰富,具体包括:

  • 内置的语法高亮 ? 使用Pygments排版你敲出的代码,并合理配色
  • 根据你的行为,显示自动补全的建议
  • 为任何Python函数列出所期望的参数 ? 可以显示你调用的任何函数的参数列表
  • “Rewind”功能会调出内存里的最后一行代码并重新执行
  • 可以将你输入的代码送到pastebin
  • 可以将你输入的代码保存到一个文件
  • 自动缩进
  • 支持Python 3

类似的Python shell

除了bpython之外,还有IPython、ptpython和dreampie等三个类似的Python shell。

知道什么是bpython,它的安装方法,功能了吧,希望大家可以深入的进行了解。

Python 相关文章推荐
python模拟登录百度贴吧(百度贴吧登录)实例
Dec 18 Python
python 远程统计文件代码分享
May 14 Python
python2与python3共存问题的解决方法
Sep 18 Python
python 画三维图像 曲面图和散点图的示例
Dec 29 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
May 18 Python
使用Python实现文字转语音并生成wav文件的例子
Aug 08 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 Python
pyftplib中文乱码问题解决方案
Jan 11 Python
离线状态下在jupyter notebook中使用plotly实例
Apr 24 Python
Python网络爬虫四大选择器用法原理总结
Jun 01 Python
用pandas划分数据集实现训练集和测试集
Jul 20 Python
聊聊pytorch测试的时候为何要加上model.eval()
May 23 Python
深入解读Python解析XML的几种方式
Feb 16 #Python
Python3.2模拟实现webqq登录
Feb 15 #Python
python编码最佳实践之总结
Feb 14 #Python
Python在Console下显示文本进度条的方法
Feb 14 #Python
如何使用python爬取csdn博客访问量
Feb 14 #Python
python动态网页批量爬取
Feb 14 #Python
Python ftp上传文件
Feb 13 #Python
You might like
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
快速排序 php与javascript的不同之处
2011/02/22 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
原生js实现自定义消息提示框
2020/11/19 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
利用Celery实现Django博客PV统计功能详解
2017/05/08 Python
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
python爬取个性签名的方法
2018/06/17 Python
20行python代码实现人脸识别
2019/05/05 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
Python 实现自动导入缺失的库
2019/10/29 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
python实现学生管理系统开发
2020/07/24 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
联想德国官网:Lenovo Germany
2018/07/04 全球购物
介绍一下如何优化MySql
2016/12/20 面试题
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
公务员职务工作的自我评价
2013/11/01 职场文书
环保建议书300字
2014/05/14 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
求职自我评价参考范文
2019/05/16 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android
JavaScript实现栈结构详细过程
2021/12/06 Javascript
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js