和isort的详细配置也在pyproject.toml中设置。示例配置:
toml[tool.black] line-length = 88 target-version = ['py38'] include = '\.pyi?$' [tool.isort] profile = "black" force_alphabetical_sort = true force_single_line = true lines_after_imports = 2 line_length = 120 [tool.flakeheaven] format="grouped" max_line_length=88 show_source=true max-complexity=25 [tool.flakeheaven.plugins] pycodestyle = ["+*"] pyflakes = ["+*"] "flake8-*" = ["+*"] [tool.plone-code-analysis] paths = "docker-entrypoint.py src/setup.py src/plone_code_analysis tests/fixtures/packages/ok tests/package tests/conftest.py" paths_pyroma = "src/ tests/fixtures/packages/ok"
首先进入需要检查或格式化的代码仓库目录。
使用pyproject.toml中的配置运行所有检查器:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check
使用配置文件检查:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check black
显式检查指定目录和文件:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check black src setup.py
使用flakeheaven配置的flake8检查,包含插件:flake8-blind-except、flake8-debugger、flake8-print。
使用配置文件检查:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check flake8
显式检查指定目录和文件:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check flake8 src setup.py
使用配置文件检查:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check isort
显式检查指定目录和文件:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check isort src setup.py
使用配置文件检查:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check pyroma
显式检查指定包目录:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check pyroma src/mypackage
使用配置文件检查:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check zpretty
显式检查指定目录:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check zpretty src
为避免修改文件的所有者和组信息,格式化时需通过--user参数指定当前用户ID和组ID。以下示例使用"$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)"获取当前用户信息。
使用pyproject.toml配置运行所有格式化器:
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format
使用配置文件格式化:
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format black
显式格式化指定目录和文件:
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format src setup.py
使用配置文件格式化:
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format isort
显式格式化指定目录和文件:
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format src setup.py
使用配置文件格式化:
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format zpretty
显式格式化指定目录:
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format src
请注意:不要直接提交到版本分支,即使是最小的修复。始终创建拉取请求并请求他人合并,不要自行合并。
使用本工具检查自身代码库:
shellmake lint-all
增加详细程度:
shellLOG_LEVEL=DEBUG make lint-all
使用本工具格式化自身代码库:
shellmake format
增加详细程度:
shellLOG_LEVEL=DEBUG make format
测试使用pytest实现,可通过以下命令运行:
shellmake build make test
基于kitconcept GmbH最初开发的解决方案。
]([***]
!GitHub 仓库星数
Plone代码质量工具是一个集成多种代码检查和格式化工具的Docker镜像,旨在为Plone项目及Python代码库提供统一的代码质量保障解决方案。通过简单的命令行接口和灵活的配置,可实现代码风格检查、语法分析和自动格式化,确保代码符合行业标准和项目规范。
pyproject.toml文件集中配置所有工具参数、检查路径和启用状态工具通过项目根目录的pyproject.toml文件读取配置。
默认配置值如下:
toml[tool.plone-code-analysis] checkers = ["black", "flake8", "isort", "pyroma", "zpretty"] formatters = ["black", "isort", "zpretty"] paths = "." paths_pyroma = "." paths_black = "." paths_flake8 = "." paths_isort = "." paths_pyroma = "." paths_zpretty = "."
如需修改所有工具的默认检查路径,添加:
toml[tool.plone-code-analysis] paths = "src/ setup.py"
可针对特定工具设置独立路径:
toml[tool.plone-code-analysis] paths_black = "src/ tests/ setup.py" # black检查路径 paths_flake8 = "src/ setup.py" # flake8检查路径
显式指定要启用的检查器或格式化器:
toml[tool.plone-code-analysis] checkers = ["black", "flake8", "isort"] # 仅启用这些检查器 formatters = ["black", "isort"] # 仅启用这些格式化器
black、flake8(通过flakeheaven)和isort的详细配置也在pyproject.toml中设置。示例配置:
toml[tool.black] line-length = 88 target-version = ['py38'] include = '\.pyi?$' [tool.isort] profile = "black" force_alphabetical_sort = true force_single_line = true lines_after_imports = 2 line_length = 120 [tool.flakeheaven] format="grouped" max_line_length=88 show_source=true max-complexity=25 [tool.flakeheaven.plugins] pycodestyle = ["+*"] pyflakes = ["+*"] "flake8-*" = ["+*"] [tool.plone-code-analysis] paths = "src/ setup.py tests/" paths_pyroma = "src/"
进入需要检查或格式化的代码仓库目录。
使用pyproject.toml配置运行所有检查器:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check
使用配置文件检查:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check black
显式指定检查目录和文件:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check black src setup.py
Flake8检查(含flake8-blind-except、flake8-debugger、flake8-print插件):
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check flake8
显式指定检查目录和文件:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check flake8 src setup.py
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check isort
显式指定检查目录和文件:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check isort src setup.py
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check pyroma
显式指定检查包目录:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check pyroma src/mypackage
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check zpretty
显式指定检查目录:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check zpretty src
格式化会修改文件内容,为保留文件所有者信息,需通过--user参数指定当前用户ID和组ID。以下示例使用"$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)"自动获取当前用户信息。
使用配置文件运行所有格式化器:
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format black
显式指定格式化目录和文件:
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format src setup.py
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3)" --rm -v "${PWD}":/github/workspace plone/code-quality:latest format isort
显式指定格式化目录和文件:
bashdocker run --user="$(id -u $(whoami)):$(getent group $(whoami)|cut -d: -f3

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429