You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python zipapp(.pyz)文件上传存储到Nexus托管PyPi仓库

问题解答

能否将.pyz文件存储到Nexus托管PyPi仓库

完全可以。Nexus的PyPi托管仓库支持所有符合Python分发规范的制品,shiv生成的.pyz格式zipapp属于合法的Python可执行分发产物,无额外格式限制,上传后可正常存储、拉取、分发使用。

具体上传操作步骤

前置准备

  • 提前在Nexus中创建托管类型的PyPi仓库,获取仓库上传地址,格式通常为http(s)://<你的Nexus域名>/repository/<你的PyPi仓库名>/
  • 准备好拥有该PyPi仓库上传权限的账号和密码
  • 本地/CI环境安装Python制品上传工具twine:pip install twine
  • 生成的.pyz文件建议按照<模块名>-<版本号>.pyz的规范命名,方便后续版本管理

手动上传(本地测试场景)

直接执行以下命令,替换对应参数即可完成上传:

twine upload \
  --repository-url http(s)://<你的Nexus域名>/repository/<你的PyPi仓库名>/ \
  --username <Nexus上传账号> \
  --password <Nexus上传密码> \
  <本地.pyz文件的路径>

命令执行成功后,即可在Nexus PyPi仓库的对应路径下看到已上传的.pyz文件。

CI/CD流水线自动上传

以通用CI/CD流水线配置为例,按照以下步骤配置即可实现自动上传:

  1. 将Nexus的上传地址、账号、密码配置为流水线保密环境变量,避免明文泄露敏感信息
  2. 流水线构建阶段完成.pyz文件生成后,安装twine工具:pip install twine
  3. 执行自动上传命令:
twine upload \
  --repository-url $NEXUS_PYPI_REPO_URL \
  --username $NEXUS_PYPI_USER \
  --password $NEXUS_PYPI_PWD \
  ./build/*.pyz

提示:如果你的Nexus使用自签SSL证书,测试环境可以在twine命令后添加--insecure参数跳过SSL校验,生产环境建议添加--cert <根证书路径>参数指定合法根证书完成校验。
如果你希望上传后的.pyz文件可以直接通过pip install <包名>拉取,需要同步上传该包对应的pyproject.toml/setup.py等元信息文件,生成标准sdist/wheel包一同上传即可;单独上传的.pyz文件仅支持手动下载使用。

内容的提问来源于stack exchange,提问作者Thomas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 02:57:03