发布Package到PyPI
原创大约 1 分钟
背景
有没有想法,发布包到PyPI,开源自己的优秀包,如果您愿意,那么本教程将带您实现。
Python Packaging User Guide 官方参考
依赖条件
已经安装好python开发环境,我这里是 python3.10+
开发环境我用的是 visual studio code ,原则上跟IDE版本没关系
您已经申请了PyPI账号,配置好环境变量。 PyPI账号申请以及配置方法
主要步骤
- 创建一个项目文件夹,并初始化项目,这里项目名称是
HomePy
结构如下:
HomePy
└── src
├── HomePy
├ ├── __init__.py
├ └── example.py
├── tests
├── LICENSE
├── pyproject.toml
├── README.md
└── requirements.txt
- 修改
pyproject.toml
文件,内容如下:
[project]
name = "HomePy"
dynamic = ["version", "dependencies"]
authors = [
{ name="Jack Li", email="[email protected]" },
]
description = "A Home python useful package"
readme = "README.md"
requires-python = ">=3.8"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
]
[tool.setuptools.dynamic]
version = {attr = "src.__version__"}
dependencies = {file = ["requirements.txt"]}
[project.urls]
"Homepage" = "https://github.com/lizhq/HomePy"
"Bug Tracker" = "https://github.com/lizhq/HomePy/issues"
- 安装依赖,编译package包
这里假设您的安装包已经编写了代码,并且已经编写了
__init__.py
文件
这里假设您已经配置好PyPI账号,并且配置好环境变量。
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade build
python3 -m build
- 发布包到PyPI
python3 -m twine upload --repository pypi dist/*
- 验证包是否上传成功
验证安装分发包是否存在 HomePy