Jupyter Lab 是否尚未支持 match-case 语法?如何启用该功能?
故障排查与解决步骤
match-case 是Python 3.10版本正式引入的原生语法,不需要额外配置开启,识别失败基本都是Jupyter内核绑定的Python版本不匹配导致的,按以下步骤排查即可:
1. 确认Jupyter当前运行的Python版本
新建单元格运行以下代码,确认实际调用的Python版本:
import sys print(sys.version)
- 如果输出版本低于3.10.0,就是内核匹配问题,按下一步操作修复
- 如果输出版本确实是3.10及以上,直接跳转到第三步
2. 注册Python 3.10为Jupyter内核
打开终端,进入你本地Python 3.10的运行环境,执行以下操作:
- 安装ipykernel依赖
pip install ipykernel
- 注册内核到Jupyter
python -m ipykernel install --user --name python3.10 --display-name "Python 3.10"
- 重启Jupyter Notebook,在目标文件的右上角内核切换菜单中,选择刚添加的Python 3.10内核即可
3. 版本匹配仍报错的解决方法
如果确认内核版本是3.10以上还是无法运行,按以下两点排查:
- 检查代码语法是否正确,基础的缩进错误、case行末尾漏加冒号都会触发语法报错,参考合法示例:
demo_val = 3 match demo_val: case 1: print("匹配到1") case 2 | 3: print("匹配到2或3") case _: print("未匹配到目标值")
- 排除语法高亮插件误报:部分旧版本的Jupyter语法高亮插件会误将match-case标为错误,只要实际运行代码没有报错就属于正常情况,升级Jupyter相关扩展插件即可解决高亮异常问题
内容的提问来源于stack exchange,提问作者GrayLiterature
相关产品推荐
相关产品推荐

