问题标签 [pre-commit.com]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1249 浏览

python - 在 python 3.7 中使用黑色作为预提交钩子

我正在尝试通过使用以下设置在预提交时使用黑色:

不幸的是,我收到了这个错误:(如果我尝试使用 python3.6 格式化,它不会发生,但我真的需要 3.7!)

关于如何解决它的任何想法?

0 投票
1 回答
1999 浏览

docker - Git 预提交钩子

我需要在 Docker 映像中设置一系列 Gitlab 挂钩,这些挂钩将在预提交时触发。我有一个 Docker 文件和一个 pre-commit-config.yaml ,除了一个我似乎无法正常工作的钩子外,它可以成功构建。

.pre-commit-config.yaml

我不得不将钩子设置为本地钩子,因为正在使用它的环境具有阻止访问互联网的气隙。为了克服这个问题,我克隆了一些具有适当钩子的 repos。

除了无法找到的 check-merge-conflict 钩子之外,这会成功构建。在 docker 容器中,该钩子的 Python 代码位于 /pre-commit-hooks/pre_commit_hooks/check_merge_commit.py 中。

我已经尝试修改条目: value to '''/pre-commit-hooks/pre_commit_hooks/check_merge_commit pre_commit_hooks/check-merge-commit check_merge_commit'''

...但这些都不起作用。

码头工人文件

有谁知道我错过了什么/做错了什么?

钩子来自Github

0 投票
1 回答
3011 浏览

python - 手动对 python 目录进行排序,然后无法推送到远程存储库

我正在尝试将isort,添加blackflake8我的项目的pre-commit挂钩中,当我编辑一个文件时它可以正常工作。

我想要实现isort的是项目的一个目录isort -rc .并将更改推送到远程存储库,但它给了我Everything up-to-date,但是当我检查git status它时,它会显示所有修改。

有人可以帮助弄清楚我做错了什么吗?下面我发布屏幕截图和代码片段。谢谢!

在此处输入图像描述 •100% ➜ git status 在分支 2020-01-29-test-pre-commit 你的分支是最新的'origin/2020-01-29-test-pre-commit'。

0 投票
3 回答
1045 浏览

python - pipenv run pre-commit --all failed with: An unexpected error has occurred: AttributeError: type object 'Hook' has no attribute 'create

在我的 pre-commit-config.yaml 文件中,我试图运行黑色,python 代码格式化程序

但是每当我尝试使用代码运行黑色时pipenv run pre-commit --all,都会失败并显示错误消息

当我去那里时,some_path我找不到任何日志。我尝试不运行pipenv run pre-commit --all将黑色应用到我的代码,但是当我尝试git commit任何新文件时仍然会出现错误。有什么办法可以解决这个问题?

0 投票
4 回答
5360 浏览

python - 忽略黑色格式化程序的 pyproject.toml 文件中的 Django 迁移

我刚刚为我的 Django 存储库设置了BlackPre-Commit 。

我使用了我遵循的教程中的 Black 的默认配置,它运行良好,但我无法从中排除我的迁移文件。

这是我一直使用的默认配置:

pyproject.toml

我使用Regex101.com来确保^.*\b(migrations)\b.*$匹配apps/examples/migrations/test.py.

当我将该正则表达式行添加到我的配置文件并运行pre-commit run --all-files时,它会忽略该.git文件夹,但仍会格式化迁移文件。

0 投票
1 回答
2701 浏览

python-3.6 - 预提交:使用 python 3.6.8 运行 flake8

我在我的系统上安装了 Pyton 3.6.8。

我的 pre-commit-config.yaml 是:

我为我的项目安装了预提交挂钩。每次我想对 git 提交一些更改时,预提交都会运行 flake8 错误:

这适用于 Python 3.6.0,因为 Python 3.6.1+ 引入并允许此功能。 https://docs.python.org/3.6/library/typing.html#typing.NamedTuple

如何将 flake8 配置为与 Python 3.6.8 一起运行?

编辑 当我运行 flake8 file.rb 时,我没有收到错误消息 TYP005。

0 投票
2 回答
1460 浏览

python - 在 python 3.5 中预提交的 Pylint 设置

我试图在我的项目中进行pylint设置pre-commit
我来到了这个答案,他们告诉他们如何设置我的.pre-commit-config.yaml.
当我去答案中提到的存储库时,他们写道

此镜像仓库已弃用,直接使用pylint

所以我这样设置我的.pre-commit-config.yaml文件

但是现在当我尝试做

它给出了以下错误:

我的项目和虚拟环境的 python 版本是3.5.2.
这是pylint或中的错误pre-commit吗?还是我做错了什么?

0 投票
1 回答
873 浏览

python - Windows python预提交获取ImportError sqlite

我正在尝试设置一个预提交挂钩。为此,我创建了一个.pre-commit-config.yaml这样的:

然后,在我的 conda 环境中,我运行pre-commit install,它运行时没有任何错误。但是,当我现在提交时,我得到了

不幸的是,我无法从 shell 重现此错误,因为在那里我可以sqlite3无缝导入(使用相同的 conda env)。有什么想法可以解决这个问题吗?

0 投票
1 回答
8914 浏览

python-3.x - 如何解决 Python 诗歌依赖错误

尝试使用 Poetry 安装 Python 依赖项时,出现以下错误:

这是我的环境:

还有我的 pyproject.toml 示例:

我尝试将 pyproject 中的 python 版本更改为 3.7,但没有更改结果。如果我删除了 pre-commit 依赖项,我会在另一个依赖项上遇到同样的错误。

我不知道我应该寻找什么:升级/降级版本,不兼容的版本

0 投票
1 回答
16046 浏览

pre-commit - 使用预提交排除一些运行黑色的文件

我想在预提交中配置黑色并从检查任何迁移文件夹中排除预提交。

我的 pyproject.toml 看起来像这样

我还配置了预提交。但是在运行pre-commit run --all-files 黑色格式迁移文件夹时,我如何配置黑色