VSCode中pre-commit提示ruff/black等可执行文件未找到的问题求助
解决pre-commit找不到ruff/black/mypy/flake8可执行文件的问题
1. 确保pre-commit运行在Poetry虚拟环境内
- 先激活Poetry虚拟环境:执行
poetry shell,在激活的终端中重新运行pre-commit install - 或者直接用Poetry的run命令调用pre-commit,确保它使用虚拟环境内的依赖:
poetry run pre-commit install
2. 修改.pre-commit-config.yaml,使用本地已安装的工具
默认pre-commit会自行下载工具的独立版本,和Poetry安装的不共用。可以改成调用本地虚拟环境中的工具,配置示例如下:
repos: - repo: local hooks: - id: ruff name: ruff entry: ruff language: system types: [python] args: ["check", "--fix"] - id: black name: black entry: black language: system types: [python] - id: mypy name: mypy entry: mypy language: system types: [python] args: ["--strict"] - id: flake8 name: flake8 entry: flake8 language: system types: [python]
3. 确认VSCode使用Poetry虚拟环境
- 点击VSCode左下角的Python解释器标识,选择Poetry创建的虚拟环境
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),输入Python: Select Interpreter,切换到对应虚拟环境 - 重启VSCode终端,确保终端已激活该虚拟环境,再重新执行
pre-commit install
4. 验证工具可直接调用
在激活的虚拟环境终端中,分别执行以下命令,确认工具能正常运行:
ruff --version black --version mypy --version flake8 --version
如果命令失败,重新安装依赖:poetry add --dev ruff black mypy flake8
内容的提问来源于stack exchange,提问作者serg
相关产品推荐
相关产品推荐

