在pypi上发布包的实用程序集合
twine的Python项目详细描述
绳线
对于在pypi上发布python包,tween是一个实用工具。
它提供独立于构建系统的源代码和二进制文件的上传 新的和现有的分发工件 项目
我为什么要用这个?
tween的目标是通过改进 安全性和可测试性。
使用 tween 的最大原因是它能够安全地验证 无论 底层的python版本,而不管是否 python setup.py upload将正确且安全地工作,具体取决于 在构建系统上,python版本和底层操作 系统:< /P>
其次,它允许您预创建分发文件。 python setup.py upload仅允许您上载 使用 distutils 或 setuptools 构建,并在相同的环境中创建 命令调用。这意味着你不能测试 您将要上载到pypi的确切文件,以确保它在 正在上载。
最后, tween 允许您预先签署文件并传递 .asc 文件进入命令行调用( 绳线上载 myproject-1.0.1.tar.gz myproject-1.0.1.tar.gz.asc )。这使您能够 确保您将 gpg 密码键入 gpg 本身而不是其他,因为你将直接成为 执行 gpg --分离符号 -a <;filename>;
功能
- 验证的https连接
- 上传不需要执行setup.py
- 上载已创建的文件,允许测试 发行前的发行版
- 支持上传任何打包格式(包括 控制盘 )
安装
$ pip install twine
使用绳线
以正常方式创建一些分布:
$ python setup.py sdist bdist_wheel
使用 tween 上传到 测试pypi 并验证一切正常。绳线将自动提示您输入用户名和密码:
$ twine upload --repository-url https://test.pypi.org/legacy/ dist/* username: ... password: ...
上传至 pypi :
$ twine upload dist/*
<> >完成!
有关使用 tween 将包上载到pypi的更多文档 python打包用户指南
钥匙圈支架
不要每次上载分发内容时都键入密码,twine 允许您使用钥匙圈安全地存储用户名和密码。
要使用keyring,必须首先安装keyring软件包:
- 在windows和macos上,您只需要安装keyring,例如, PIP安装 --用户 钥匙圈
- 在Linux上,除了 keyring 包之外,还需要确保 已安装python3 dbus系统包。例如, apt安装 蟒蛇3 dbus 。有关详细信息,请参见钥匙圈的安装说明。
安装keyring后,您可以使用 keyring 程序设置 要用于每个包索引(存储库)的用户名和密码 使用绳线上载到。
要设置测试pypi的用户名和密码,请运行以下命令。 钥匙圈将提示您输入密码:
$ keyring set https://test.pypi.org/legacy/ your-username # or $ python3 -m keyring set https://test.pypi.org/legacy/ your-username
要设置pypi的用户名和密码,请再次运行此命令, keyring 将提示输入密码:
$ keyring set https://upload.pypi.org/legacy/ your-username # or $ python3 -m keyring set https://upload.pypi.org/legacy/ your-username
下次运行 tween 时,它将提示您输入用户名,并从密匙环中获取相应的密码。
< div > 注如果您在无头环境中使用Linux(例如 服务器)您需要执行一些附加步骤以确保keyring可以 安全地储存秘密。请参见在无头Linux系统上使用keyring在无头Linux系统上使用keyring。
禁用钥匙圈
在某些情况下,钥匙圈的存在可能是有问题的。禁用 keyring并按照提示输入密码,卸载keyring 或者如果这不是一个选项,您也可以将keyring配置为禁用。
有关 讨论如何做到这一点。