如何在Google Colab中使用Python 3.10的Structural Pattern Matching特性
你修改的是系统全局的Python 3软链接,而Colab当前代码运行的内核是实例启动时就预先加载的Python 3.7进程,软链接变更不会影响已经运行的进程,因此sys.version仍返回旧版本,不支持Python 3.10的结构模式匹配语法。
解决方案
方案1:注册Python 3.10为Jupyter内核,切换后直接运行(推荐)
该方案可以让你在代码单元格内直接运行Python 3.10语法的代码,不需要额外处理。
- 第一步:安装Python 3.10相关依赖和内核组件
!sudo apt-get install python3.10 python3.10-distutils python3-pip -y !python3.10 -m pip install ipykernel
- 第二步:将Python 3.10注册为可用的Jupyter内核
!python3.10 -m ipykernel install --name "py310" --user
- 第三步:切换内核
刷新Colab页面,点击右上角运行时下拉按钮,选择「更改运行时类型」,在内核选项中选择py310后保存,重新连接实例即可。
切换完成后运行print(sys.version)可看到3.10版本信息,match case语句可直接正常执行。
方案2:无需切换内核,直接调用Python 3.10执行代码
如果不想修改当前运行时内核,可以将代码写入临时文件后调用系统Python 3.10执行:
- 第一步:将需要运行的代码写入本地文件
%%writefile match_test.py number = 1 match number: case 0: print("Error") case _: print(number)
- 第二步:调用Python 3.10执行该文件
!python3.10 match_test.py
执行后将直接输出预期结果1。
内容的提问来源于stack exchange,提问作者pedrolmcastro
相关产品推荐
相关产品推荐

