You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PDM搭配pre-commit使用pylint时无法找到__pypackages__下依赖的解决方案问询

可行解决方案

以下两个方案均为全团队通用配置,无需修改本地环境变量,配置跟随代码仓库生效:

方案1:配置pylint启动钩子(无需修改pre-commit配置)

直接在pyproject.toml中添加如下配置,pylint启动时会自动执行代码将依赖目录加入模块搜索路径:

[tool.pylint.MASTER]
init-hook = "import sys, os; sys.path.insert(0, os.path.abspath('./__pypackages__/3.11/lib/python3.11/site-packages'))"

注意:将路径中的Python版本号替换为团队统一使用的版本即可。如果不想手动维护版本路径,推荐使用方案2。

方案2:修改pre-commit钩子执行入口(更稳定,推荐优先使用)

pdm run命令会自动加载PDM管理的所有依赖路径,直接修改.pre-commit-config.yaml中pylint钩子的entry配置,让pre-commit通过PDM运行pylint即可:

repos:
  # 其余钩子配置保持不变
  - repo: https://github.com/PyCQA/pylint
    rev: v2.17.5 # 替换为你使用的pylint版本号
    hooks:
      - id: pylint
        entry: pdm run pylint # 仅需修改这一行配置

该方案完全复用PDM的路径解析逻辑,不需要手动维护依赖目录结构,哪怕后续PDM版本升级调整依赖存放规则也不会受影响,只需确保团队所有成员都已安装PDM即可。

验证方式

修改配置后执行pre-commit run --all-files测试,pylint即可正常识别__pypackages__下的所有依赖模块。

内容的提问来源于stack exchange,提问作者Mike Williamson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:15:06