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

使用Poetry发布Python包至PyPI时遇403认证失败问题

问题分析与解决

为什么发布时跳过账号密码输入?

Poetry发布时会优先读取已配置的PyPI凭据,不会再次弹出输入提示。如果之前配置过错误、过期的凭据,或者凭据存储出现问题,就会直接用无效信息发送请求,最终触发403认证失败错误。常见场景包括:

  • 之前执行过poetry config命令设置了错误的PyPI账号密码
  • 配置了失效的PyPI API Token

解决步骤

  1. 检查现有PyPI配置
    执行以下命令查看当前Poetry存储的PyPI相关配置:

    poetry config --list | grep pypi
    

    如果输出里包含pypi-token.pypi、repositories.pypi.username或password项,说明存在预配置的凭据。

  2. 清除无效配置

    • 若配置的是API Token,执行清除命令:
      poetry config --unset pypi-token.pypi
      
    • 若配置的是账号密码,执行清除命令:
      poetry config --unset repositories.pypi.username
      poetry config --unset repositories.pypi.password
      
  3. 重新触发凭据输入
    执行发布命令(建议加上--build确保重新构建包),此时会弹出凭据输入提示:

    poetry publish --build
    

    注意:PyPI现在推荐使用API Token而非账号密码,你可以在PyPI账号设置页生成Token,输入时用户名填__token__,密码填生成的Token即可。

  4. (可选)永久配置有效凭据
    如果想避免每次发布重复输入,可通过命令永久配置API Token:

    poetry config pypi-token.pypi "你的PyPI API Token"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 03:35:44