我正在尝试使用以下命令将python包上传到PyPi:
pip install -e .
python setup.py bdist_wheel --universal
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
我收到此错误:
HTTPError:403客户端错误:身份验证信息无效或不存在。对于网址:https://upload.pypi.org/legacy/
我也尝试过以下命令:
twine upload dist/*
twine upload --repository-url pypi dist/*
twine upload --repository-url https://upload.pypi.org/legacy dist/*
python setup.py bdist_wheel --universal upload
一个.pypirc文件位于同一目录中我运行的命令是:
[distutils]
index-servers =
pypi
pypitest
[pypitest]
repository: https://testpypi.python.org/pypi/
username: <username>
password: <password>
[pypi]
repository: https://upload.pypi.org/legacy/
username: <username>
password: <password>
但我仍然要求输入密码。 (也尝试使用pypitest,在那里创建一个帐户,但得到相同的错误)
我也尝试过这样做但删除了存储库行。
我尝试上传的软件包名称曾被占用,但现在已被删除 - https://pypi.python.org/pypi?name=&version=1.0.0&:action=display表示找不到软件包
我使用的用户名和密码与我用于成功登录https://pypi.python.org/pypi?%3Aaction=login_form
的用户名和密码相同答案 0 :(得分:4)
我正在使用的帐户看起来有些错误。以下步骤为我解决了这个问题:
twine upload dist/*
答案 1 :(得分:3)
我在the pypi instructions for creating a new package之后遇到了这个问题。该教程将指导您上载到他们的测试服务器
(--repository-url https://test.pypi.org/legacy/
),我总是得到403。
对于他们的实际上传服务器,(--repository-url https://upload.pypi.org/legacy/
)我的凭据可以正常工作。因此,很明显,他们的测试服务器和实时服务器之间的凭据有所不同,如果您遇到此问题,则值得考虑。
答案 2 :(得分:2)
另一种选择可能是复制和粘贴不起作用 - 当我尝试在命令行中粘贴密码时显示此错误,但当我手动输入密码时,它成功了。
答案 3 :(得分:1)
我有同样的问题。对我有用的是(1)添加新电子邮件,进行验证并将其设置为主要电子邮件地址。
答案 4 :(得分:1)
输入密码时,密码没有错,我认为这是一个错误。
我直接使用-u
作为用户名,-p
作为密码,而不使用控制台提供的字段(默认)。
我尝试在以下命令中运行此命令:twine upload -u YOUR-USERNAME -p YOUR-PASSWORD - repository-url https://test.pypi.org/legacy/ dist / *
对我有用。希望这会有所帮助
答案 5 :(得分:1)
在 PyPI 和 TestPyPI 中拥有验证帐户,分别使用凭据 (usr1
, pwd1
) 和 (usr2
, pwd2
), ~/.pypi
:
[distutils]
index-servers=
pypi
testpypi
[pypi]
repository: https://upload.pypi.org/legacy/
username: usr1
password: pwd1
[testpypi]
repository: https://test.pypi.org/legacy/
username: usr2
password: pwd2
构建包后,为 TestPyPI 发布:
twine upload --repository testpypi dist/*
PyPI 发布:
twine upload --repository pypi dist/*
答案 6 :(得分:0)
对我来说,麻烦在于需要在TestPyPi上创建一个与PyPi相同的帐户。
PyPi和TestPyPi是包索引的单独实例,它们具有单独的用户数据库。因此,必须创建单独的帐户。
(抱怨,抱怨,禅宗的python,抱怨...)
答案 7 :(得分:0)
手动输入密码。似乎很蠢,但对我有用。