如何打包一个简单的Python项目,构建软件包,以及将其上传到 Python 软件包索引,分享你的项目。
分为如下几步:新建项目、构建项目、上传项目、安装项目
Poetry
macOS Homebrew 安装 Poetry
brew install poetry
Poetry:https://python-poetry.org
构建项目
新建项目
poetry new project_name
初始化项目
poetry init
配置文件
实例(iGTTS):pyproject.toml
[project]
name = "iGTTS"
version = "0.1.1"
description = "Gemini TTS CLI"
authors = [
{name = "iChochy",email = "me@ichochy.com"}
]
readme = "docs/README.md"
keywords = ["TTS", "Gemini"]
license-files = "LICENSE"
license = {text = "MIT"}
requires-python = ">=3.13"
dependencies = [
"google-genai (>=1.36.0,<2.0.0)"
]
[project.scripts]
igtts = "igtts:main"
[project.urls]
Homepage = "https://tts.ichochy.com"
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
说明:
dependencies:声明项目的所需依赖包
[project.scripts]:声明项目的命令脚本
[build-system]:声明项目的构建系统
构建项目
配置好 pyproject.toml后,通过配置文件构建项目
poetry build
Building iGTTS (0.1.1)
Building sdist
- Building sdist
- Built igtts-0.1.1.tar.gz
Building wheel - Building wheel
- Built igtts-0.1.1-py3-none-any.whl
打包项目文件
dist/
├── igtts-0.1.0.tar.gz
└── igtts-0.1.0-py3-none-any.whl
上传项目
创建 token
在 PyPI 账户设置中创建一个 API token
添加 PyPI token:https://pypi.org/manage/account/token/
pypi-AgEIcHlwaS5vcmcCJDVl...
Poetry 配置 token
poetry config pypi-token.pypi pypi-AgEIcHlwaS5vcmcCJDVl...
发布(publish)
poetry publish
Publishing iGTTS (0.1.2) to PyPI
- Uploading igtts-0.1.2-py3-none-any.whl 100%
- Uploading igtts-0.1.2.tar.gz 100%
构建 + 发布(build + publish)
poetry publish --build
安装项目
pip install igtts
Collecting igtts
Using cached igtts-0.1.2-py3-none-any.whl (10 kB)
Installing collected packages: igtts
Successfully installed igtts-0.1.2
运行项目
igtts
语音内容: Hello,这是一个 Gemini TTS CLI 工具,记...
语音名称: Zephyr
开始生成音频...
音频已成功保存到 'output.wav'
iGTTS
一个 Gemini TTS 的终端命名工具,可以将文本信息转为音频文件的终端命令。
总结
至此,使用 Poetry 创建项目、构建打包,再到发布和安装。走完了整个项目发布到 PyPI 流程。