在打包和分发Python包的文档中,它说要twine与repository = https://upload.pypi.org/legacy/in 一起使用.pypirc.现在这个URL既是 - 从最后一点 - 一个传统的做事方式,一个不存在的方式:
$ twine register dist/scriptdoctest-0.1-py2.py3-none-any.whl
Registering package to https://upload.pypi.org/legacy/
Enter your username: MyUserName
Enter your password:
Registering scriptdoctest-0.1-py2.py3-none-any.whl
HTTPError: 410 Client Error: This API is no longer supported, instead simply upload the file. for url: https://upload.pypi.org/legacy/
Run Code Online (Sandbox Code Playgroud)
现在使用scriptdoctest.egg-info/PKG-INFO注册包的首选和唯一方法,还是有其他方法来执行此操作twine或其他一些CLI工具?
shttps://packaging.python.org/distributing/实际上提供了所有必要的信息.
setup.pypython setup.py sdist bdist_wheel~/.pypirc的凭据来自https://pypi.python.org/pypitwine upload dist/*- 不再需要/可能注册我.pypirc看起来如下:
[distutils]
index-servers =
pypi
pypitest
[pypi]
repository=https://pypi.python.org/pypi
username=Martin.Thoma
password=[your password]
[pypitest]
repository=https://testpypi.python.org/pypi
username=Martin.Thoma
password=[your password]
Run Code Online (Sandbox Code Playgroud)
以下 Martin Thoma 的答案现在似乎已被弃用(此处)。
建议使用新的 URL“ https://upload.pypi.org/legacy/ ”或不指定 URL 并允许 twine 选择。
所以你的.pypirc应该如下所示:
[pypi]
username=[your username]
password=[your password]
[pypitest]
username=[your username]
password=[your password]
Run Code Online (Sandbox Code Playgroud)
接下来请按照以下步骤操作:
setup.py为您的项目创建一个有效的。创建轮子和距离:
python setup.py sdist bdist_wheel
Run Code Online (Sandbox Code Playgroud)为了避免重新输入密码,您可以使用pypi~/.pypirc中的凭据
填充。
现在上传命令负责注册,因此命令现在是:
twine upload dist/*
Run Code Online (Sandbox Code Playgroud)