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

升级Nexus 3.8.0-02 OSS后上传Python包遇401错误求助

解决Nexus 3.8.0-02 PyPI Hosted仓库发布失败的问题

我来帮你排查下setuptools发布包失败的问题。既然你已经确认UI操作和pip查询代理仓库都正常,那咱们把重点放在发布环节的配置和Nexus设置上:

1. 核对.pypirc的仓库URL是否准确

你配置的repository地址必须是pypi-hosted仓库的专属发布端点,Nexus的PyPI Hosted仓库发布URL格式应该是这样的:

https://ld3-nexus-3-kev.pibenchmark.com:8443/repository/pypi-hosted/

注意末尾的斜杠,部分版本的setuptools对这个细节很敏感。另外要切记:不能用group或proxy仓库的URL来发布——只有hosted仓库支持包上传操作。

2. 重新验证Nexus的权限与仓库配置

虽然你说已经分配了全部权限,但还是要确认两个关键点:

  • 你的账号确实拥有nx-repository-view-pypi-pypi-hosted-*权限(尤其是create和edit权限,这是发布包的核心权限)
  • 在Nexus的PyPI Hosted仓库配置页,Deployment policy要设置为Allow redeploy(如果是发布全新包,Disable redeploy也能生效,但如果是覆盖已有版本的包,必须开启这个选项)

3. 升级setuptools/twine工具版本

旧版本的setuptools可能对HTTPS连接、Nexus的PyPI API兼容性不好,建议先升级到最新版:

pip install --upgrade setuptools twine

之后尝试用twine替代原生的python setup.py upload来发布(twine的错误提示更清晰,稳定性也更好):

twine upload --repository nexus dist/*

4. 排查HTTPS证书问题

如果你的Nexus使用的是自签名证书,Python可能会拒绝建立连接。可以先做以下测试:

  • 在.pypirc里添加证书路径(生产环境推荐):
[nexus]
repository: https://ld3-nexus-3-kev.pibenchmark.com:8443/repository/pypi-hosted/
username: 你的Nexus账号
password: 你的Nexus密码
ca_certs: /path/to/your/ca.crt
  • 或者临时设置环境变量跳过证书验证(仅用于测试,不建议生产环境使用):
export PYTHONHTTPSVERIFY=0

5. 查看Nexus日志定位问题

如果上面的步骤都没解决,直接去Nexus的日志目录(默认路径是sonatype-work/nexus3/log)查看nexus.log和request.log,里面会记录发布请求的详细错误信息,比如权限拒绝、路径错误、请求格式问题等,能帮你快速定位根因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:27:00