403客户端错误:使用Twine将新模块上传到pypi时,出现无效或不存在的身份验证信息
Win10 Pro 1803 Biuld 17134.1069 64位//Python 3.7.5 32位//pip 19.3.1
我成功地创建了tar。以及whl。在dist文件夹中,注册于https://pypi.org/通过电子邮件确认并开始上传。
我用命令行检查了这两个文件
并进行了以下操作:
Uploading distributions to https://upload.pypi.org/legacy/
Enter your username: gakonorde
Enter your password:
Uploading gersyll-Alpha.release-py3-none-any.whl
100%|█████████████████████████████████████████████████████████████████████████████| 6.43k/6.43k [00:01<00:00, 5.12kB/s]
NOTE: Try --verbose to see response content.
HTTPError: 403 Client Error: Invalid or non-existent authentication information. for url: https://upload.pypi.org/legacy/
命令行不允许我在用户名后输入密码。我只能按ENTER键。
我也试过
Password for 'your-username' in 'https://upload.pypi.org/legacy/':
再说一遍,除了按ENTER键,我什么也不能按。
然后我创建了.pypirc文件,其中包含https://pypi.org/及其测试版本,并再次运行python -m twine upload dist/*
没有人问我密码,但我得到了同样的错误:
Uploading distributions to https://upload.pypi.org/legacy/
Uploading gersyll-Alpha.release-py3-none-any.whl
100%|█████████████████████████████████████████████████████████████████████████████| 6.43k/6.43k [00:01<00:00, 5.46kB/s]
NOTE: Try --verbose to see response content.
HTTPError: 403 Client Error: Invalid or non-existent authentication information. for url: https://upload.pypi.org/legacy/
当我将.pypirc与API令牌结合时,问题仍然相同。
我可以在上输入我的帐户https://pypi.org/,所以它显然存在(并且电子邮件已得到验证(。
我还添加了第二封电子邮件,验证并将其设置为主要电子邮件(没有任何更改(。
这是我的设置.py:
import setuptools
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name="gersyll",
version="Alpha release",
author="gakonorde",
author_email="gabrielko@yandex.ru",
description="This module counts the number of words of different syllable length for all texts in a directory",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/gakonorde/gersyll",
packages=setuptools.find_packages(),
classifiers=[
"Programming Language :: Python :: 3.7",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
python_requires='>=3.7',
)
我做错了什么?
如有任何帮助,我们将不胜感激。
编辑:.pypirc文件与.setup、README、License、dict/等位于同一文件夹中。
其内容如下:
[distutils]
index-servers =
pypi
pypitest
[pypitest]
repository: testpypi.python.org/pypi
username: gakonorde
password: [my_password]
[pypi]
repository: upload.pypi.org/legacy
username: gakonorde
password: [my_password]
使用解决
python -m twine upload -u USERNAME -p PASSWORD dist/*
关于密码提示,在输入密码:提示后不会看到任何输入,因为它隐藏了您的密码。
对于.pypirc
文件,它应该在主目录(~/.pypirc
(中,而不是在与setup.py
文件相同的目录中。
有趣的pypi.org
和test.pypi.org
位于不同的域中,因此它们要求您同时注册这两个域。
官方文档使用测试域来解释步骤:
python3 -m twine upload --repository testpypi dist/*