66 lines
2.0 KiB
Markdown
66 lines
2.0 KiB
Markdown
# Python 配置清单(Configuration)
|
||
|
||
本文件用于把 Python 工具配置“汇总说明”到一个可读入口。
|
||
|
||
注意:本 Playbook 将可复制模板放在 `templates/python/`;在目标项目落地时,这些文件通常需要复制到**项目根目录**(工具默认查找位置):
|
||
|
||
- `pyproject.toml`
|
||
- `.flake8`
|
||
- `.pylintrc`
|
||
- `.pre-commit-config.yaml`
|
||
- `.editorconfig`
|
||
- `.vscode/settings.json`
|
||
|
||
## 1) `pyproject.toml`
|
||
|
||
模板文件:`templates/python/pyproject.toml`
|
||
|
||
- `tool.black`
|
||
- `line-length = 80`
|
||
- `target-version = ['py313']`(按项目 Python 版本调整)
|
||
- `tool.isort`
|
||
- `profile = "google"`
|
||
- `line_length = 80`
|
||
- `known_third_party` / `known_first_party`:按项目维护
|
||
- `tool.mypy`
|
||
- `python_version = "3.13"`(按项目调整)
|
||
- `ignore_missing_imports = true`(对第三方二进制/无类型库更友好)
|
||
- `tool.pytest.ini_options`
|
||
- 测试发现与参数(若项目引入 `tests/` 会自动生效)
|
||
|
||
## 2) `.flake8`
|
||
|
||
模板文件:`templates/python/.flake8`
|
||
|
||
- `max-line-length = 80`
|
||
- `docstring-convention = google`
|
||
- 与 `black` 冲突的规则已屏蔽(例如 `E203`、`W503`)
|
||
|
||
## 3) `.pylintrc`
|
||
|
||
模板文件:`templates/python/.pylintrc`
|
||
|
||
- 命名风格:snake_case / PascalCase 等(对齐 Google Python 风格)
|
||
- `max-line-length = 80`
|
||
- `init-hook` 将项目根目录加入 `sys.path`(便于本地运行与检查;如项目不需要可移除)
|
||
|
||
## 4) `.pre-commit-config.yaml`
|
||
|
||
模板文件:`templates/python/.pre-commit-config.yaml`
|
||
|
||
- 基础文本检查:尾随空格、文件末尾换行、YAML/TOML 基础校验
|
||
- Python:`black`、`isort`、`flake8`
|
||
|
||
## 5) `.editorconfig`
|
||
|
||
模板文件:`templates/python/.editorconfig`
|
||
|
||
- Python:4 空格缩进、行宽 80
|
||
- 通用:UTF-8、LF、去尾随空格、文件末尾换行
|
||
|
||
## 6) `.vscode/settings.json`
|
||
|
||
模板文件:`templates/python/.vscode/settings.json`
|
||
|
||
- 保存即格式化、80 列标尺、默认使用 Black formatter、按需组织 import
|