本文将会介绍如何使用hatchling轻松实现Python打包。
在日常工作中,将Python代码打包成第三方模块,并上传至托管网站,并不是一个高频的需求,但学会Python代码的打包,也是一项必备技能。
所谓Python打包
,就是将我们自己写的Python代码打包成第三方模块,方便后续使用或用于开源分享,比如常用的requests, numpy等第三方模块。常见的Python打包工具有:
- setuptools
- hatchling
- Flit
- PDM
这也是PyPI官网打包教程中给出的打包工具。本文将会介绍其中的hatchling。
Hatchling
是一个Python包管理工具,主要用于方便地管理依赖关系和环境隔离。它与Hatch一起使用,用于配置、版本化、指定依赖关系以及将 Python 包发布到PyPI
上。Hatchling
的主要功能包括:
- 配置项目:使用
pyproject.toml
文件配置项目 - 版本化:管理项目的版本化过程
- 指定依赖关系:为项目指定所需的依赖关系
- 发布包到 PyPI:将项目发布到 Python Package Index (PyPI) 上
Hatchling 的插件系统允许用户轻松扩展其功能。
项目介绍
本文将会以一个简单的小项目为例,介绍如何使用hatchling来实现Python打包。我们的小项目主要使用tiktoken
模块来实现文本或文本列表的token数计算。
项目的整体代码如下:
.
├── README.md
├── dist
│ ├── token_counter-0.0.1-py3-none-any.whl
│ └── token_counter-0.0.1.tar.gz
├── pyproject.toml
├── src
│ └── token_counter
│ ├── __init__.py
│ └── token_count.py
└── tests
├── __init__.py
├── package_test.py
└── test_token_count.py
我们的功能实现放在src/token_counter模块中的token_count.py脚本,代码如下:
# -*- coding: utf-8 -*-
# @place: Pudong, Shanghai
# @file: token_count.py
# @time: 2024/1/22 17:45
import tiktoken
from typ