什么`twine upload dist / *`命令呢?

时间:2017-05-25 16:00:05

标签: python pypi twine

我提前道歉,因为这似乎是一个基本问题......

我正在尝试学习使用mujoco(link here),并在其python绑定Makefile中有:

upload:
   rm -rf dist
   python setup.py sdist
   twine upload dist/*

twin upload dist/*命令有什么作用? 另外,这要求我输入这样的用户名和密码:

Uploading distributions to https://pypi.python.org/pypi
Enter your username: guest
Enter your password: 
Uploading mujoco-py-0.5.7.tar.gz
HTTPError: 401 Client Error: You must be identified to edit package information for url: https://pypi.python.org/pypi
Makefile:2: recipe for target 'upload' failed

这是否要求我的电脑用户名和密码?

1 个答案:

答案 0 :(得分:5)

Twine是一个常用的系统,用于将项目构建上传到PyPI(Python包索引)。

它将负责将项目的构建工件以wheel,sdist等格式安全地传输到PyPI或其他一些用户定义的索引服务器。

当您指定twine upload <files>时,twine将尝试将所述文件上传到PyPI,但为了这样做,它将要求您自己进行身份验证。这是因为PyPI希望保护一个项目,防止他们的广告包被一个“做得好”的人“劫持”。为了继续执行此步骤,您必须提供标记为上载项目工件所属项目的权威凭据。

看起来mujoco项目的Makefile包含一个目标,可以通过利用Twine应用程序轻松将项目更新上传到PyPI。该目标只能由软件包维护者使用。

哦,如果你想知道,python setup.py sdist命令是什么使得源代码工件可以上传到PyPI。它会将此工件作为./build/放在project-name_version.tar.gz目录中。