如何开始将自研Python库发布至Python服务端库集合?
如何发布自研Python库到Python生态(PyPI)
Hey there! I’ve published a couple of my own Python packages to PyPI before, so I’ll break down the entire process step by step for you—it’s actually simpler than you might think once you know the ropes.
1. 整理好你的项目结构
首先,确保你的库包含这些核心文件和文件夹(我用一个名为my_cool_lib的示例项目举例):
my_cool_lib/: 存放所有Python代码的文件夹(包含模块、类、函数等)pyproject.toml: 现代的包配置文件(根据PEP 621标准,推荐替代旧的setup.py)README.md: 清晰的说明文档,解释库的功能、安装方法和使用示例LICENSE: 许可证文件(必须要有,比如MIT、Apache 2.0这类常见开源许可证)- 可选补充:
tests/单元测试文件夹、requirements.txt依赖声明、.gitignore(用来忽略不必要的文件,比如__pycache__/、dist/)
给你一个极简的pyproject.toml示例参考:
[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "my-cool-lib" # PyPI上必须唯一,提前搜索确认重名情况! version = "0.1.0" authors = [ { name="你的名字", email="your.email@example.com" } ] description = "一个用来做XYZ的超酷Python库" readme = "README.md" license = { file="LICENSE" } requires-python = ">=3.8" classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ]
2. 本地测试你的库
发布前一定要确认功能正常:
- 用
pip install -e .以可编辑模式安装包——这样修改代码后不用重新安装就能测试 - 打开Python终端尝试导入库:
import my_cool_lib,然后运行几个函数确认没有报错 - 如果有测试用例,用pytest这类工具运行测试(先安装
pip install pytest,再执行pytest tests/)
3. 构建发布包
你需要生成可上传到PyPI的分发文件,先安装build工具:
pip install build
然后在项目根目录执行构建命令:
python -m build
这会生成一个dist/文件夹,里面包含两个文件:源码压缩包(.tar.gz)和wheel包(.whl)——这就是你要上传的文件。
4. 发布到PyPI
首先你需要一个PyPI账号(去PyPI官方网站注册即可),然后安装twine——一个安全上传包的工具:
pip install twine
接着上传你构建好的包:
twine upload dist/*
这时会提示你输入PyPI的用户名和密码。为了安全,更推荐使用API token替代密码——可以在PyPI账号设置里生成。
5. 验证发布结果
上传完成后,去PyPI搜索你的包名,应该能看到它的页面!为了彻底确认,在一个全新的环境里尝试安装:
pip install my-cool-lib
如果能正常安装且功能正常,那整个流程就完成啦!
几个额外小贴士
- 版本号遵循语义化版本规范(比如
1.0.0是第一个稳定版,1.0.1是修复bug的小版本,1.1.0是新增功能的次版本) - 正式发布到主PyPI前,可以先在TestPyPI上测试整个流程——这是一个专门的测试环境,不会影响正式索引
- 每次更新库时,记得修改
pyproject.toml里的版本号,重新构建后再用twine上传
内容的提问来源于stack exchange,提问作者user16435384
相关产品推荐
相关产品推荐

