如何在启用双因素的情况下将包上传到 PyPi?

now*_*wox 26 python pip pypi twine

我想将包上传到 Pypi,因此我创建了一个帐户并尝试按照手册进行操作。

  1. 帐户:

看起来我无法pypi.org直接创建项目:

在此输入图像描述

  1. 我安装了twine并且做了
python3 -m twine upload dist/*
Run Code Online (Sandbox Code Playgroud)

这次我出现了以下错误:

HTTPError: 403 Client Error: Invalid or non-existent 
authentication information. for url: https://upload.pypi.org/legacy/
Run Code Online (Sandbox Code Playgroud)

也许这与我的双因素身份验证有关。我也对那里使用的词感到好奇legacy

如果我禁用双因素身份验证,它就会起作用......

小智 19

同样的事情让我绊倒了。使用 2FA 时,请勿使用您的用户名。使用作为__token__您的用户名。

例如:

[testpypi]
    username = __token__
    password = pypi-AgENdGVzdC5weXBpLm9yZwIkYTZkMjdmNDctNGFlNS00Y2U4LT
Run Code Online (Sandbox Code Playgroud)

__token__不仅仅是您用户名的占位符。他们实际上希望您在使用 2 因素进行身份验证时使用__token__


phd*_*phd 12

来自https://pypi.org/help/#twofa

选择设置双因素身份验证的用户将被要求在登录过程中提供第二种身份验证方法。这仅影响通过网络浏览器登录,而不影响包上传。

您可以改用API 令牌

  • @Jérôme /sf/answers/4377463051/ (2认同)