ufmt v2.0.1无法格式化含match case的Python脚本,求解决方案
解决ufmt v2.0.1格式化match case语句失败的问题
问题原因
ufmt v2.0.1依赖的libcst版本对Python 3.10引入的match case语法支持不完善,导致解析时抛出语法错误。
可行解决办法
- 升级ufmt到最新版本:旧版本的ufmt存在对新语法的兼容问题,执行命令更新:
pip install --upgrade ufmt - 单独升级libcst依赖:如果升级ufmt后问题依旧,手动更新其依赖的libcst,确保它支持Python 3.10+语法:
pip install --upgrade libcst - 指定Python版本运行ufmt:确保ufmt使用的是支持
match case的Python环境(3.10及以上版本),比如:python3.10 -m ufmt format your_script.py - 临时替代方案:如果暂时无法升级工具,可先注释掉
match case语句完成格式化,之后再恢复代码;或者换用对新语法支持更成熟的格式化工具(比如black):black your_script.py
内容的提问来源于stack exchange,提问作者Nissal
相关产品推荐
相关产品推荐

