如何使用Python Blueprint:初学者的完整指南

如何使用Python Blueprint:初学者的完整指南

【免费下载链接】python-blueprint 🗺️ Example Python project using best practices 🐍 https://github.com/johnthagen/python-blueprint 【免费下载链接】python-blueprint 项目地址: https://gitcode.com/gh_mirrors/py/python-blueprint

Python Blueprint是一个展示最新Python测试、代码检查和类型检查工具最佳实践的示例项目。它包含一个提供阶乘算法实现的fact包和一个命令行界面,非常适合Python新手学习现代Python项目结构和开发流程。

快速开始:安装与配置

准备工作

在开始使用Python Blueprint之前,你需要先安装uv——一个快速的Python包管理器和虚拟环境工具。安装完成后,克隆项目仓库:

git clone https://gitcode.com/gh_mirrors/py/python-blueprint
cd python-blueprint

安装依赖

项目的所有依赖都在pyproject.toml中定义,并通过uv.lock锁定了具体版本,确保环境的一致性。安装依赖只需运行:

uv sync

项目结构解析

Python Blueprint采用了推荐的src目录结构,这种结构可以避免测试时的路径问题,让项目更加清晰:

python-blueprint/
├── src/
│   └── fact/           # 主功能包
│       ├── __init__.py
│       ├── cli.py      # 命令行界面
│       └── lib.py      # 阶乘算法实现
├── tests/              # 测试目录
├── docs/               # 文档
└── 配置文件            # 项目配置

核心功能在src/fact/lib.py中实现,提供了一个递归的阶乘算法:

def factorial(n: int) -> int:
    """Computes the factorial through a recursive algorithm."""
    if n < 0:
        raise InvalidFactorialError(f"n is less than zero: {n}")
    elif n == 0:
        return 1
    return n * factorial(n - 1)

使用命令行工具

项目提供了简单易用的命令行界面,可以直接计算阶乘。在项目根目录运行:

uv run fact 5

这将输出fact(5) = 120。命令行功能由src/fact/cli.py实现,使用Typer库构建,支持参数验证和帮助信息。

代码质量与测试

运行自动化测试

Python Blueprint使用pytest进行单元测试,测试文件位于tests/目录。要运行所有测试:

uv run nox -s test

测试完成后,会生成HTML格式的覆盖率报告,位于htmlcov目录下,帮助你了解测试覆盖情况。

配置测试环境

如果你使用PyCharm,可以通过配置运行/调试配置来方便地运行Nox测试。以下是配置Nox测试的界面:

Python Blueprint Nox测试配置界面

代码风格与类型检查

项目使用Ruff进行代码风格检查和自动格式化,使用mypy进行类型检查。运行以下命令可以检查并修复代码风格问题:

uv run nox -s lint_fix  # 自动修复代码风格问题
uv run nox -s type_check  # 运行类型检查

在PyCharm中,你可以通过偏好设置配置Ruff集成,实现保存时自动格式化代码:

Python Blueprint PyCharm偏好设置界面

构建与打包

生成分发包

要将项目打包为可分发的格式,运行:

uv build

这将在dist目录下生成源代码分发和wheel包,方便你在其他项目中使用或发布到PyPI。

使用Docker容器化

项目还提供了Docker配置,可以将应用打包为容器。构建并运行容器的命令:

docker build --tag fact .
docker run --rm --interactive --tty fact 5

生成文档

Python Blueprint使用Material for MkDocs生成美观的文档。要构建并查看文档:

uv run nox -s docs_serve

然后在浏览器中访问http://127.0.0.1:8000即可查看生成的文档。

总结

Python Blueprint展示了现代Python项目的最佳实践,包括项目结构、依赖管理、测试、代码质量保证和文档生成。通过学习和使用这个项目,你可以快速掌握Python开发的标准流程和工具链,为你的Python项目打下坚实的基础。无论是初学者还是有经验的开发者,都能从这个项目中获得有价值的参考。

【免费下载链接】python-blueprint 🗺️ Example Python project using best practices 🐍 https://github.com/johnthagen/python-blueprint 【免费下载链接】python-blueprint 项目地址: https://gitcode.com/gh_mirrors/py/python-blueprint

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值