如何解决初始化预提交环境时的工作目录
我正在使用预提交来管理我的预提交和预推送挂钩。
我有两个钩子(mypy 和 pylint),我需要将需求安装到虚拟环境中。
我的目录结构:
- project
- .pre-commit-config.yaml
- path
- to
- my
- requierment.txt
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v0.812
hooks:
- id: mypy
stages: [ "push" ]
args: [ "--config-file","mypy.ini" ]
additional_dependencies: [ "-rpath/to/my/requirements.txt" ]
- repo: https://github.com/PyCQA/pylint
rev: v2.8.3
hooks:
- id: pylint
stages: [ "push" ]
args: [ "--rcfile=.pylintrc" ]
additional_dependencies: [ "-rpath/to/my/requirements.txt" ]
当我尝试这个时(请遵循 additional_dependencies),预提交找不到文件。
我该如何解决?使用相对路径。
谢谢:)
更新:
我刚刚找到了另一个解决我的问题的方法,使用我的系统 python 解释器,使用系统 language
的 option
属性。
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v0.812
hooks:
- id: mypy
language: system
stages: [ "push" ]
args: [ "--config-file","mypy.ini" ]
- repo: https://github.com/PyCQA/pylint
rev: v2.8.3
hooks:
- id: pylint
language: system
stages: [ "push" ]
args: [ "--rcfile=.pylintrc" ]
解决方法
pre-commit 永远不会从被测试的存储库安装,只有配置(否则缓存是棘手的)
安装过程中的工作目录是实现细节,不可定制,它是预提交缓存中钩子存储库本身的根
对于像 pylint 这样需要动态分析和直接访问您的代码库和依赖项的东西,建议使用非托管 repo: local
钩子(或在 additional_dependencies
中枚举您的依赖项
免责声明:我创建了预提交
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。