Hatch 现代化的项目管理、构建工具
简介
- 介绍
- Hatch 是一个用于创建、构建和发布 Python 软件包的现代化命令行工具,旨在简化 Python 软件包的管理和发布过程。Hatch 提供了一组命令,使开发人员能够轻松地创建新的 Python 项目、管理依赖关系、构建软件包以及发布到 PyPI(Python 包索引)等功能。通过 Hatch,开发人员可以更加方便地进行 Python软件包的开发和分发。
- 简单来说,Hatch 是 Python 项目的现代化管理、构建工具,类似于 Java 的 Maven
- 相关地址
- Hatch 使用 pyproject.toml 文件配置项目
安装
操作
项目常用操作
- 创建项目
$ hatch new my-project
(base) PS D:\code\python> hatch new my-project
my-project
├── src
│ └── my_project
│ ├── __about__.py
│ └── __init__.py
├── tests
│ └── __init__.py
├── LICENSE.txt
├── README.md
└── pyproject.toml
(base) PS D:\code\python>
- 构建(在项目根目录下,默认会去创建独立的虚拟环境进行构建)
$ hatch build
- 第一次执行时,可能会报错,见故障记录
- 构建完成后见项目下 dist 目录,会出现 .tar.gz 和 .whl 文件
- 测试(在项目根目录下)
- 发布(在项目根目录下)
虚拟环境相关
- 基本(在项目根目录下执行)
- 查询当前虚拟环境
$ hatch env find
- 显示可用的虚拟环境
$ hatch env show
- 运行当前虚拟环境下的命令
$ hatch env run pip list
(my-project) PS D:\code\python\my-project> hatch env find
C:\Users\MyUser\AppData\Local\hatch\env\virtual\my-project\ESvNmHcr\my-project
(my-project) PS D:\code\python\my-project> hatch env show
Standalone
┌─────────┬─────────┬──────────────┬──────────────────────────────────────────────────────┬─────────┐
│ Name │ Type │ Dependencies │ Environment variables │ Scripts │
├─────────┼─────────┼──────────────┼──────────────────────────────────────────────────────┼─────────┤
│ default │ virtual │ │ PIP_INDEX_URL=http://mirrors.aliyun.com/pypi/simple/ │ │
│ │ │ │ PIP_TRUSTED_HOST=mirrors.aliyun.com │ │
├─────────┼─────────┼──────────────┼──────────────────────────────────────────────────────┼─────────┤
│ types │ virtual │ mypy>=1.0.0 │ PIP_INDEX_URL=http://mirrors.aliyun.com/pypi/simple/ │ check │
│ │ │ │ PIP_TRUSTED_HOST=mirrors.aliyun.com │ │
└─────────┴─────────┴──────────────┴────────────────────────