交互式 shell IPython 8.0 大版本更新:Debug 报错提示更清晰,加入自动代码补全
消息来源:baojiabao.com 作者: 发布时间:2024-05-19
IPython(interactivepython)是一个用于多种编程语言交互计算的命令 shell,最初是为 Python 编程语言开发的,它提供了内省、富媒体、shell 语法、制表符完成和历史记录。
酝酿了 3 年多,IPython 8.0 终于来了。现在,用上最新版本,你不仅能在命令行里使用 Black 重新格式化代码,还能获得更好的自动代码补全和 Debug 体验。
更多详情,咱们接着往下看。
优化报错
在 8.0 版本之前,如果代码出错,IPython 的错误回溯会显示一个哈希值,用于编译 Python AST,就像这样:
而现在,错误回溯已经正确格式化,能够显示出 bug 所在的具体单元格编号。
另外,IPython 8.0 还集成了 stack_data,这个包提供了更智能的追踪信息,能够突出显示发生错误的 AST 节点,帮助快速定位 bug。
比如对于这样一段代码:
调用 bar (),就能获得一个 IndexError,IPython 8.0 会告诉你索引错误具体发生在哪里。
注:在终端和 notebook 中,用 ^ 标记的位置将显示为高亮。
还有一个对生产力有较大影响的改进,就是在错误回溯的文件名后面添加冒号和行号。
许多终端和编辑器都允许在使用这种语法时,直接跳转到相关文件 / 行。
自动代码补全建议
除了更好的 Debug 体验,如果你很喜欢 Ptpython 里的代码自动补全功能,那么现在在 IPython 8.0 里你也能用上了。
通过 ctrl-f,或 ctrl-e,或按下右箭头,就可以接受这些建议。
alt-f 快捷键则可以只接受建议的第一个单词。目前,自动建议只能在 emacs 或 vi 模式中显示。
使用"?"和"??"查看对象信息
在 IPDB 中,现在可以用"?"和"??"来显示对象信息,在使用 IPython 提示符时也一样:
在 CLI 中用 black 自动格式化
如果 black 被安装在与 IPython 相同的环境中,那么现在,终端 IPython 将在默认情况下尽可能重新格式化命令行(CLI)中的代码。当然,你也可以用 -TerminalInteractiveShell.autoformatter=None 来禁用该选项。
历史范围全局功能
此前,在使用 % history 时,用户可以指定 session 和行:
或是使用全局模式:
但在 8.0 以前,这两种模式不能兼得。如果用户同时指定了 2 种模式,IPython 将应用全局模式(对所有历史记录进行全局化)并忽略指定范围。
现在,此功能得到加强,如果用户同时指定了范围和 glob 模式,则 glob 模式将应用于指定的历史范围。
如果你还想了解更多信息,官网链接在此奉上:
https://ipython.readthedocs.io/en/stable/whatsnew/version8.html#ipython-8-0
对了,还要提醒一点,如果想用 IPython 8.0,你得先把 Python 升级到 3.8 以上版本。
2022-05-08 06:22:31相关文章
- 美国法院裁定阿里须为Squishmallows玩具侵权案答辩
2023-12-28 19:59:34
- 小米汽车传员工3700人 雷军称小米汽车不可能卖9万9
2023-12-28 19:41:57
- 国家新闻出版署:认真研究《网络游戏管理办法(草桉徵求意见稿)》关切 实行前进一步完善
2023-12-28 19:14:56
- 天猫新规可以无条件申请“仅退款”了?淘宝天猫又离狗多多零元购近了一步
2023-12-28 18:57:55
- 印度以打击金融犯罪为由逮捕了两名 vivo 高管
2023-12-26 16:49:01
- 在国外微信收不到国内信息?微信和WeChat将被拆分
2023-12-15 10:40:15
- 苹果iPhone15 系列手机发布最新消息 预计上市发布时间9月
2023-08-06 23:21:02
- 华为将发布鸿蒙HarmonyOS4操作系统 功能五大升级支持设备清单
2023-08-06 23:17:37
- 整治自媒体网红账号 400万粉丝网红发布擦边视频被无限期封禁
2023-07-12 09:56:09
- 网传微信文件传输助手是真人是真的吗?微信官方回应
2023-06-27 15:53:32
- 电信移动送手机成了“信用购”?你上了运营商的贷款套路了吗?
2023-06-12 17:18:55
- 中国电信广东地区崩了无信号 客服回应已在核实处理
2023-06-08 15:39:04
- 消息称小米新能源汽车价格表正讨论定价区间:双版本不同配置,高配或超 35 万元
2023-03-06 12:56:03
- 华为因制裁被传或分拆剥离手机业务? 内部人士回应:可能性不大.
2023-03-05 23:26:41
- OPPO正式发布安第斯智能云,让终端更智能
2023-02-24 16:02:27
- 华为与OPPO签订全球专利交叉许可协议 包括5G蜂窝通信专利
2023-02-24 16:02:26
- 老蛙将推MINI镜头新品:目前未知具体规格 官宣将于12月20日发布
2023-02-24 16:02:26
- 首发全新35mm定制光学系统 努比亚Z50性能同样强悍
2023-02-24 16:02:25
- Redmi K60屏幕细节曝光:全系标配2K护眼柔性直屏+5000mAh大容量电池
2023-02-24 16:02:25
- OPPO Find N2今天发 合金金属折叠屏更轻了
2023-02-24 16:02:24