Spaces:
Sleeping
Sleeping
A newer version of the Gradio SDK is available:
5.49.1
发布到 PyPI 指南
本文档详细说明如何将 fanfou-mcp 包发布到 PyPI。
🚀 自动发布(推荐)
我们已经配置了 GitHub Actions 来自动发布到 PyPI。有两种方式触发发布:
方式 1:通过 GitHub Release(推荐)
创建新的 Git 标签:
git tag v0.1.0 git push origin v0.1.0在 GitHub 上创建 Release:
- 访问:https://github.com/kingcos/fanfou-mcp/releases
- 点击 "Create a new release"
- 选择刚创建的标签
v0.1.0 - 填写 Release 标题和描述
- 点击 "Publish release"
自动发布:
- GitHub Action 会自动触发
- 包会自动构建并发布到 PyPI
- 可以在 Actions 页面查看进度
方式 2:手动触发 GitHub Action
访问 Actions 页面:
- 前往:https://github.com/kingcos/fanfou-mcp/actions
- 选择 "Publish to PyPI" workflow
手动运行:
- 点击 "Run workflow"
- 选择是否发布到 Test PyPI(用于测试)
- 点击 "Run workflow" 按钮
🧪 测试发布
在正式发布前,建议先发布到 Test PyPI 进行测试:
- 手动触发 GitHub Action
- 勾选 "Publish to Test PyPI"
- 验证包:
pip install -i https://test.pypi.org/simple/ fanfou-mcp
🔧 本地测试构建
在发布前,可以本地测试构建过程:
# 运行测试构建脚本
python scripts/test_build.py
# 或者手动测试
uv sync
uv build
uv run twine check dist/*
⚙️ PyPI 配置要求
我们提供了两种认证方式,你可以选择其中一种:
方式 A:可信发布设置(推荐)
使用 .github/workflows/publish.yml 工作流。
优点:
- 更安全,不需要管理 API Token
- PyPI 官方推荐的方式
- 自动轮换凭据
配置步骤:
- 登录 PyPI:访问 https://pypi.org/
- 创建项目(如果是首次发布)
- 配置可信发布:
- 前往项目设置页面
- 添加可信发布者
- 配置信息:
- Owner:
kingcos - Repository:
fanfou-mcp - Workflow:
publish.yml - Environment:
pypi
- Owner:
方式 B:API Token 认证
使用 .github/workflows/publish-with-token.yml 工作流。
优点:
- 设置简单
- 适合个人项目
- 立即可用
配置步骤:
获取 PyPI API Token:
- 登录 https://pypi.org/
- 前往 Account settings → API tokens
- 创建新的 API token
- 复制 token(格式:
pypi-xxx...)
设置 GitHub Secrets:
- 前往仓库 Settings → Secrets and variables → Actions
- 添加以下 secrets:
PYPI_API_TOKEN:你的 PyPI API tokenTEST_PYPI_API_TOKEN:Test PyPI 的 API token(可选)
禁用默认工作流:
- 重命名或删除
.github/workflows/publish.yml - 启用
.github/workflows/publish-with-token.yml
- 重命名或删除
GitHub 环境设置
仅适用于可信发布方式,在 GitHub 仓库中配置环境:
- 前往仓库设置:Settings → Environments
- 创建环境:
- 名称:
pypi - 名称:
test-pypi
- 名称:
- 配置保护规则(可选):
- 需要审查者
- 等待计时器
- 部署分支限制
注意:如果使用 API Token 方式,不需要创建环境,但仍需要设置 Secrets。
📝 版本管理
版本号规范
使用语义化版本(SemVer):
MAJOR.MINOR.PATCH- 例如:
0.1.0,0.1.1,0.2.0,1.0.0
更新版本
**更新
pyproject.toml**:[project] version = "0.1.1" # 更新版本号提交更改:
git add pyproject.toml git commit -m "bump version to 0.1.1" git push创建标签和 Release(参考上面的步骤)
🔍 发布检查清单
发布前请确认:
- 版本号已更新
- CHANGELOG 已更新(如果有)
- 所有测试通过
- 文档已更新
- 构建测试成功
- PyPI 可信发布已配置
- GitHub 环境已设置
🚨 故障排除
常见问题
构建失败:
- 检查
pyproject.toml配置 - 确保所有依赖都正确安装
- 运行本地测试构建
- 检查
发布权限错误:
- 确认 PyPI 可信发布配置正确
- 检查 GitHub 环境设置
- 验证仓库权限
包名冲突:
- 检查 PyPI 上是否已存在同名包
- 考虑更改包名
获取帮助
如果遇到问题:
- 查看 GitHub Actions 日志
- 检查 PyPI 项目页面
- 参考 PyPI 官方文档
- 提交 Issue 到项目仓库