python-packaging
为 PyPI 构建 Python 包
也可从以下获取: ActiveInferenceInstitute,sickn33
打包 Python 项目经常导致结构错误和元数据错误。本技能提供清晰的布局、配置示例和发布步骤,帮助您创建可分发的包。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“python-packaging”。 我需要一个简单的 pyproject.toml 和文件夹布局用于一个库。
预期结果:
- 使用带有包文件夹和测试的 src 布局。
- 在 pyproject.toml 中定义构建系统和项目元数据。
- 添加依赖项和可选的开发工具。
- 包含用于打包的 README 和 LICENSE。
正在使用“python-packaging”。 如何为我的包设置 CLI 命令?
预期结果:
- 安装 Click 作为依赖项。
- 创建带有 click 命令的 cli.py 模块。
- 在 pyproject.toml 部分定义入口点。
- 以可编辑模式安装以测试命令。
正在使用“python-packaging”。 发布到 PyPI 的步骤是什么?
预期结果:
- 使用 python -m build 构建包。
- 使用 twine check dist/* 验证。
- 首先上传到 TestPyPI 进行测试。
- 使用 twine upload dist/* 上传到 PyPI。
安全审计
安全Pure documentation skill containing educational content about Python packaging. No executable scripts, network calls, file access, or code execution paths present. All static findings are false positives: the scanner misidentified repository names as cryptographic algorithms, bash documentation examples as shell execution, and legitimate config file references as credential access attempts.
风险因素
🌐 网络访问 (25)
⚙️ 外部命令 (77)
📁 文件系统访问 (2)
质量评分
你能构建什么
打包可复用模块
为共享的 Python 库设计清晰的结构和元数据。
发布命令行工具
定义入口点并将 CLI 包发布到 PyPI。
自动化发布流程
使用构建和上传步骤设置发布工作流。
试试这些提示
为名为 acme-tools 的小型 Python 库提供最小的 src 布局和 pyproject.toml。
展示如何向现有包添加基于 Click 的 CLI 入口点 acme。
列出使用 twine 构建 wheel 并发布到 TestPyPI 和 PyPI 的步骤。
草拟一个 GitHub Actions 工作流,在创建版本时进行构建和上传。
最佳实践
- 使用 src 布局以实现更安全的导入
- 在干净的环境中测试安装
- 在发布到 PyPI 之前先发布到 TestPyPI
避免
- 未验证元数据就直接发布
- 依赖隐式的 setup.py 默认值
- 发布时跳过 wheel 构建