code-quality Docker 镜像下载 - 轩辕镜像
code-quality 镜像详细信息和使用指南
code-quality 镜像标签列表和版本信息
code-quality 镜像拉取命令和加速下载
code-quality 镜像使用说明和配置指南
Docker 镜像加速服务 - 轩辕镜像平台
国内开发者首选的 Docker 镜像加速平台
极速拉取 Docker 镜像服务
相关 Docker 镜像推荐
热门 Docker 镜像下载
code-quality 镜像详细信息
code-quality 镜像标签列表
code-quality 镜像使用说明
code-quality 镜像拉取命令
Docker 镜像加速服务
轩辕镜像平台优势
镜像下载指南
相关 Docker 镜像推荐
code-quality 镜像详细说明
code-quality 使用指南
code-quality 配置说明
code-quality 官方文档
Plone 代码质量工具
、flake8(语法检查)、isort(导入排序)、pyroma(包质量检查)、zpretty(Zope/Plone特定文件格式化)等多种工具
- 灵活配置:通过项目根目录的
pyproject.toml文件自定义检查器、格式化器、路径及各工具参数 - 检查与格式化分离:支持单独运行代码检查(不修改文件)或自动格式化(修改文件)
- 用户权限处理:格式化时可通过
--user参数保持文件所有者信息,避免权限问题 - 即插即用:无需本地安装依赖,通过Docker容器直接运行,简化环境配置
配置说明
该工具通过项目根目录的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 = "."
自定义配置
修改路径
如需仅修改检查/格式化路径,在pyproject.toml中添加:
toml[tool.plone-code-analysis] paths = "src/ setup.py"
工具单独路径
可针对不同工具设置单独路径:
toml[tool.plone-code-analysis] paths_black = "src/ tests/ setup.py" paths_flake8 = "src/ setup.py"
自定义检查器/格式化器
显式指定要使用的检查器或格式化器:
toml[tool.plone-code-analysis] checkers = ["black", "flake8", "isort", "pyroma"] 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 = "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"
使用方法
首先进入需要检查或格式化的代码仓库目录。
代码检查(Linter)
运行所有检查
使用pyproject.toml中的配置运行所有检查器:
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
显式检查指定目录和文件:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check black src setup.py
flake8检查
使用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
isort检查
使用配置文件检查:
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
pyroma检查
使用配置文件检查:
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
zpretty检查
使用配置文件检查:
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
特定工具格式化
black格式化
使用配置文件格式化:
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
isort格式化
使用配置文件格式化:
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
zpretty格式化
使用配置文件格式化:
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
贡献
- 问题跟踪:Issue Tracker
- 源代码:Source Code
- 文档:Documentation
请注意:不要直接提交到版本分支,即使是最小的修复。始终创建拉取请求并请求他人合并,不要自行合并。
本地代码检查
使用本工具检查自身代码库:
shellmake lint-all
增加详细程度:
shellLOG_LEVEL=DEBUG make lint-all
本地代码格式化
使用本工具格式化自身代码库:
shellmake format
增加详细程度:
shellLOG_LEVEL=DEBUG make format
本地测试
测试使用pytest实现,可通过以下命令运行:
shellmake build make test
credits
基于kitconcept GmbH最初开发的解决方案。
]([***]
!GitHub 仓库星数
镜像概述
Plone代码质量工具是一个集成多种代码检查和格式化工具的Docker镜像,旨在为Plone项目及Python代码库提供统一的代码质量保障解决方案。通过简单的命令行接口和灵活的配置,可实现代码风格检查、语法分析和自动格式化,确保代码符合行业标准和项目规范。
核心功能与特性
- 多工具集成:整合black(代码格式化)、flake8(语法检查)、isort(导入排序)、pyroma(包质量检查)和zpretty(Zope/Plone文件格式化)
- 统一配置:通过项目根目录的
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/"
使用方法
前提条件
进入需要检查或格式化的代码仓库目录。
代码检查(Linter)
运行所有检查
使用pyproject.toml配置运行所有检查器:
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
显式指定检查目录和文件:
bashdocker run --rm -v "${PWD}":/github/workspace plone/code-quality:latest check black src setup.py
flake8检查
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
isort检查
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
pyroma检查
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
zpretty检查
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
单独工具格式化
black格式化
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
isort格式化
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
在 Linux 系统配置镜像加速服务
Windows/Mac
在 Docker Desktop 配置镜像加速
Docker Compose
Docker Compose 项目配置加速
K8s Containerd
Kubernetes 集群配置 Containerd
宝塔面板
在宝塔面板一键配置镜像加速
群晖
Synology 群晖 NAS 配置加速
飞牛
飞牛 fnOS 系统配置镜像加速
极空间
极空间 NAS 系统配置加速服务
爱快路由
爱快 iKuai 路由系统配置加速
绿联
绿联 NAS 系统配置镜像加速
威联通
QNAP 威联通 NAS 配置加速
Podman
Podman 容器引擎配置加速
Singularity/Apptainer
HPC 科学计算容器配置加速
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
专属域名拉取
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429