当前位置:   article > 正文

pypi 上传python包_pypi上传包

pypi上传包

最近准备使用

twine upload dist/*

命令上传一下自己更新后的python,结果显示报错:

HTTPError: 403 Forbidden from https://upload.pypi.org/legacy/
Username/Password authentication is no longer supported. Migrate to API Tokens or Trusted Publishers inst
ead. See https://pypi.org/help/#apitoken and https://pypi.org/help/#trusted-publishers
这个原因是PyPI现在不再支持用户名/密码认证,而是要求使用API Tokens或Trusted Publishers进行认证。

为此登录PyPI准备制作一个API Tokens,结果PyPI要求2FA验证。研究了一下终于明白是怎么回事。所谓2FA验证就是通过两种方式验证身份,第一种就是常用的固定密码,第二种是随时间变化的动态密码。 对于国外的用户来说可以用手机接受动态验证码,对国内的用户来说,这个动态验证码怎么生成呢?答案是通过安装和运行一个开源的python包来实时生成。具体步骤是

步骤1.1:安装开源包

$ pip install pyotp

步骤1.2:在pypi网站上点击 

在现实的二维下方会有一串字符串密钥,例如SC5GNDMEV2FPHHLZQW7IZ6UCFXFBNBVI,

步骤1.3:将这一串密钥拷贝至如下代码中执行

import pyotp
key = 'SC5GNDMEV2FPHHLZQW7IZ6UCFXFBNBVI'
totp = pyotp.TOTP(key)
print(totp.now())

步骤1.4:生成的结果6位数就是动态验证码拷贝至验证码输入框里。

如果验证不通过可能是因为操作系统的时间不准确造成的,可以通过右击电脑时间 调整日期时间,将自动设置时间-自动设置时区 打开。再重新运行验证码的生成程序。

步骤1.55:如果验证通过则前面那一串密钥 SC5GNDMEV2FPHHLZQW7IZ6UCFXFBNBVI 就是你今后的2FA身份验证的基础了,将这个密钥以及上面的代码都保存好,需要2FA验证时,就运行生成动态验证码。

接下来就是生成API Token并用于上传包。步骤如下:

 2.1 生成API Token

  • 访问 PyPI的账户页面
  • 点击 "Manage your API tokens" (管理你的API令牌)。
  • 点击 "Generate API token" (生成API令牌) 并为其命名。
  • 复制生成的令牌。

2.2  将令牌设置为环境变量

在Windows下设置环境变量,在“系统变量”或“用户变量”中点新建两个变量:

第一个变量:

变量名:TWINE_USERNAME

变量值:__token__

第二个变量:

变量名:TWINE_PASSWORD

变量值:你的API-TOKEN(确保不包括引号)

2.3  使用twine upload dist/*上传你的包到PyPI,twine将会使用你设置的TWINE_USERNAMETWINE_PASSWORD环境变量。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/505950?site
推荐阅读
相关标签
  

闽ICP备14008679号