集包管理和项目管理于一身的Python工具——uv
使用uv作为Python的包管理工具,快到你怀疑人生。很多情况下我以为卡住了,结果已经装完了。但我不满足于此。众所周知,在vscode中写Python代码,Python,Pylance这几个插件绑在一起,好大一坨,且默认全部安装。这一点让人不爽。
最近,一款同样用Rust语言开发的Python类型检查器和语言服务器--Pyrefly 发布1.0版本,我又动心了,准备把玩一下。
实操下来,对Pyrefly很满意。下面简要说说具体流程。
https://github.com/facebook/pyrefly/releases/tag/1.0.0
下载可执行文件,添加path环境变量即可。
另外在vscode中也要安装Pyrefly插件。
这样在uv构建任意一个虚拟环境都可使用Pyrefly
默认情况下,Pyrefly 在 VS Code 中只有当你打开被配置覆盖的文件时才会显示类型错误波浪线。为了获得完整的检查体验,需在项目根目录初始化配置:
pyrefly init,(若虚拟环境没有激活,则需uv run pyrefly init命令),它会自动扫描项目并生成 pyrefly.toml,或写入 pyproject.toml 的 [tool.pyrefly] 节点 。python.pyrefly.displayTypeErrors 改为 force-on,强制全局开启错误提示。打开 VS Code 的 settings.json,可根据习惯调整以下推荐设置:
"python.pyrefly.displayTypeErrors": "force-on""python.a nalysis.showHoverGoToLinks": true"editor.inlayHints.enabled" 为 on。openFilesOnly 只检查当前打开的文件。对中型项目,可设为 "python.pyrefly.diagnosticMode": "workspace",在项目打开时全量检查所有文件。配置完成后,打开任意 Python 文件,你将获得:
def add(a: int, b: int) -> int:
return a + b
add("1", 2)
终端输入命令
uv run pyrefly check 输出以下
当然,Pyrefly 更适合大项目。
划重点,由于没有安装Python三件套插件,因此就没法点VS Code右上角的三角按钮运行文件,而是通过终端输入命令 uv run XXX.py来运行文件。