返回顶部
p

python-packagingPython打包工作流

Deep Python packaging workflow—pyproject metadata, dependencies and optional extras, build backends, wheels, versioning, publishing, and CI release hygiene. Use when building libraries or shipping CLI tools to PyPI or private indexes.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
119
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

python-packaging

Python 打包(深度工作流)

打包将源代码与可安装制品连接起来。优先考虑可重现构建精确的依赖关系安全的自动化发布。

何时提供此工作流

触发条件:

  • - 新库或 CLI;在 Poetry、Hatch、setuptools、uv 等工具间选择
  • 在某些 Python 版本或平台上安装失败
  • 从 CI 发布到 PyPI 或私有索引

初始提供:

使用六个阶段:(1) 项目布局,(2) 元数据与入口点,(3) 依赖关系,(4) 构建后端与 wheel 包,(5) 版本控制与标签,(6) 发布与 CI。确认支持的 Python 版本和目标索引。



阶段 1:项目布局

目标: 优先使用 src/ 布局,避免从仓库根目录意外导入;使用一个清晰的导入包名称。

退出条件: 在干净的虚拟环境中执行 pip install . 后能正确导入包。



阶段 2:元数据与入口点

目标: 使用符合 PEP 621 元数据的 pyproject.toml;CLI 使用 [project.scripts] 或 [project.gui-scripts]。

实践

  • - 链接 README;指定许可证 SPDX 标识符
  • 使用分类器提高 PyPI 可发现性

阶段 3:依赖关系

目标: 将运行时依赖与可选扩展(开发、文档、性能优化)分离;应用的版本锁定策略不同。

  • - 除非必要,避免过于严格的上限约束(避免给使用者带来依赖地狱)

应用

  • - 使用锁定文件(pip-tools、uv、poetry lock)实现可重现部署

阶段 4:构建后端与 Wheel 包

目标: 选择构建后端(hatchling、setuptools、flit);在适当情况下生成 wheel 包 + sdist 源码分发包。

原生扩展

  • - 使用 cibuildwheel 或类似工具处理 manylinux/macOS/Windows 矩阵

阶段 5:版本控制与标签

目标: 单一版本来源(在 pyproject 中静态定义或从 VCS 动态获取);git 标签与发布版本匹配。



阶段 6:发布与 CI

目标: 优先使用 PyPI 可信发布(OIDC),而非在密钥中存储长期有效的 API 令牌。

实践

  • - 学习流程时使用 TestPyPI 进行测试
  • 限制令牌范围并在 PyPI 账户上启用双因素认证

最终审查清单

  • - [ ] 在干净的虚拟环境中验证 src 布局和导入
  • [ ] pyproject 元数据完整;控制台脚本正常工作
  • [ ] 依赖策略已记录(扩展、边界)
  • [ ] 为目标平台构建制品
  • [ ] 版本控制与标签对齐;CI 发布安全

有效指导技巧

  • - 为类型化库添加 py.typed(PEP 561)
  • 在函数内部惰性导入重量级可选依赖,以保持 CLI 启动速度
  • 命名空间包容易配置错误——优先使用一个清晰的顶级包名称

处理偏差

  • - 单仓库:协调版本或按文件夹使用独立包并配备清晰工具
  • 仅 Docker 应用:仍需打包以确保可测试性;Dockerfile 安装 wheel 包

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 python-packaging-1776028948 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 python-packaging-1776028948 技能

通过命令行安装

skillhub install python-packaging-1776028948

下载

⬇ 下载 python-packaging v1.0.0(免费)

文件大小: 2.17 KB | 发布时间: 2026-4-13 11:40

v1.0.0 最新 2026-4-13 11:40
Initial release of deep Python packaging workflow guidance.

- Covers stages from project layout to CI-based publishing for libraries and CLI tools.
- Emphasizes reproducible builds, proper metadata, dependency separation, and secure release practices.
- Includes best practices for backend selection, Python compatibility, and distribution artifacts.
- Final checklist and troubleshooting tips provided for reliable PyPI or private index releases.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部