Gav*_*vrk 6 python upload pypi http-status-code-403 twine
403客户端错误:使用Twine上传新模块到pypi时出现无效或不存在的身份验证信息
\n\nWin10 Pro 1803 Biuld 17134.1069 64 位 // Python 3.7.5 32 位 // pip 19.3.1
\n\n我成功创建了 tar.gz 和whl。在 dist 文件夹中,通过电子邮件确认在https://pypi.org/上注册并开始上传。
\n\n我用命令行检查了这两个文件(\'PASSED\')
\n\n并做了以下事情:
\n\nUploading distributions to https://upload.pypi.org/legacy/\nEnter your username: gakonorde\nEnter your password:\nUploading gersyll-Alpha.release-py3-none-any.whl\n100%|\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88| 6.43k/6.43k [00:01<00:00, 5.12kB/s]\nNOTE: Try --verbose to see response content.\nHTTPError: 403 Client Error: Invalid or non-existent authentication information. for url: https://upload.pypi.org/legacy/\nRun Code Online (Sandbox Code Playgroud)\n\n命令行不允许我在用户名后输入密码。我只能按 ENTER 键。
\n\n我也尝试过
\n\nPassword for \'your-username\' in \'https://upload.pypi.org/legacy/\':\nRun Code Online (Sandbox Code Playgroud)\n\n...再一次,除了 ENTER 之外,我什么也不能按。
\n\n然后我使用https://pypi.org/及其测试版本的凭据创建.pypirc文件并再次运行python -m twine upload dist/*
没有要求我输入密码,但遇到了同样的错误:
\n\nUploading distributions to https://upload.pypi.org/legacy/\nUploading gersyll-Alpha.release-py3-none-any.whl\n100%|\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88| 6.43k/6.43k [00:01<00:00, 5.46kB/s]\nNOTE: Try --verbose to see response content.\nHTTPError: 403 Client Error: Invalid or non-existent authentication information. for url: https://upload.pypi.org/legacy/\nRun Code Online (Sandbox Code Playgroud)\n\n当我将.pypirc与 API 令牌结合使用时,问题仍然存在。
\n\n我可以在https://pypi.org/上输入我的帐户,因此它显然存在(并且电子邮件已验证)。
\n\n我还添加了第二封电子邮件,进行验证并将其设置为主要电子邮件(没有任何更改)。
\n\n这是我的 setup.py:
\n\nimport setuptools\n\nwith open("README.md", "r") as fh:\n long_description = fh.read()\n\nsetuptools.setup(\n name="gersyll",\n version="Alpha release",\n author="gakonorde",\n author_email="gabrielko@yandex.ru",\n description="This module counts the number of words of different syllable length for all texts in a directory",\n long_description=long_description,\n long_description_content_type="text/markdown",\n url="https://github.com/gakonorde/gersyll",\n packages=setuptools.find_packages(),\n classifiers=[\n "Programming Language :: Python :: 3.7",\n "License :: OSI Approved :: MIT License",\n "Operating System :: OS Independent",\n ],\n python_requires=\'>=3.7\',\n)\nRun Code Online (Sandbox Code Playgroud)\n\n我究竟做错了什么?
\n\n任何帮助将不胜感激。
\n\n编辑: \n.pypirc 文件与 .setup、README、License、dict/ 等位于同一文件夹中。
\n\n其内容如下:
\n\n[distutils]\nindex-servers =\n pypi\n pypitest\n\n[pypitest]\nrepository: testpypi.python.org/pypi\nusername: gakonorde \npassword: [my_password]\n\n[pypi]\nrepository: upload.pypi.org/legacy\nusername: gakonorde\npassword: [my_password]\nRun Code Online (Sandbox Code Playgroud)\n
关于密码提示,在输入密码:提示后您将看不到任何输入,因为它隐藏了您的密码。
对于您的.pypirc文件,它应该位于您的主目录 ( ~/.pypirc) 中,而不是与您的文件位于同一目录中setup.py。