软件发布变得容易和可重复

zest.releaser的Python项目详细描述


轻松发布软件包:zest.releaser概述和安装

releaser是命令行程序的集合,帮助您自动化 发布python项目的任务。

它消除了所有无聊的部分。这就是Zest.Releaser自动实现的功能 给你:

  • 它会更新版本号。版本号可以是 setup.py version.txt 或 python文件或在setup.cfg中。例如,它将您从 0.3.dev0 (当前开发版本)到 0.3 (发布)到 0.4.dev0 (新开发版本)。
  • 它会更新历史记录/更改文件。它在发布时记录发布日期 为即将进行的更改(新开发版本)添加新标题。
  • 它标记着释放。它在版本控制系统中创建一个名为 发布版本号之后。
  • 它可以选择将源代码版本上载到pypi。只有当 包已在那里注册(否则它将询问,默认为"否"); Zest Releaser注意不要发布您的私人项目!

最重要的URL

首先是三个最重要的链接:

而且…Travis和Landscape会自动对我们进行测试:

https://secure.travis-ci.org/zestsoftware/zest.releaser.png?branch=master代码运行状况

兼容性/依赖性

zest.releaser 适用于python 2.7。 支持Python3.4+。 支持PyPy2。

要确定的是:您使用zest.releaser发布的包可能 很好地处理其他python版本:这完全取决于 包装:

我们依赖于:

  • 为我们提供的入口点挂钩设置工具
  • colorama 用于彩色输出(一些错误以红色打印)。
  • 六个 用于python2/python3兼容性。

由于版本4.0,建议您使用一个 额外的 安装Zest.releaser[推荐] ,而不是安装Zest.releaser。它 包含一些我们认为对大多数人有用的可信赖的附加组件 用户:

  • 用于创建我们上载到pypi旁边的python轮子的轮子 。 标准源分布。wheels是新的python包 格式。在项目(或全局)中创建或编辑setup.cfg 在您的 ~/.pypirc 中创建一个节 创建控制盘 =yes 以创建要上载到pypi的控制盘。见 http://pythonwheels.com 用于确定这是否适合 你的包裹。简而言之,如果它是纯python 2 纯python 3 包裹:就这样做。如果它是纯python 2 纯python 3 项目,它被称为"通用"车轮,因为一个车轮可以 安装在python的所有实现和版本上。如果你 在 setup.cfg 中用 [bdist\u wheel]一节指出这一点 当 通用=1 时,我们将自动上传一个轮子, 除非将"创建轮子"显式设置为false。
  • 检查清单 检查您的清单。在 文件中检查完整性, 或者告诉你你需要这样一个文件。它基本上检查 版本控制文件将结束我们 将上载。这样可以避免丢失的"棕色包"释放 文件。
  • pyroma 检查包是否遵循python的最佳实践 包装。它主要对 setup.py 文件执行检查,比如 正在检查python版本的分类器。
  • 通用字符编码检测器chardet。做正确的事 如果您的自述文件或变更日志是非UTF-8字符集。
  • 自述文件 以与pypi相同的方式检查长描述。不再 PYPI页面上的未格式化重组文本,因为 小错误。方便,
  • tween 用于通过https安全上载到pypi。普通设置工具不能 支持这一点。

安装

只需一个简单的pip install zest.releaser或 简单的安装zest.releaser 够了。如果需要推荐的额外实用程序,请执行pip安装 zest.releaser[推荐]

或者,构建用户可以安装zest.releaser作为特定 项目的构建,通过构建配置,例如:

[buildout]
parts =
    scripts

[scripts]
recipe = zc.recipe.egg
eggs = zest.releaser[recommended]

版本控制系统:SVN、HG、Git、BZR

当然,您必须安装版本控制系统。释放热情者 当前支持:

  • 颠覆(SVN)。
  • 汞(Hg)。
  • 吉特(git)。
  • 吉特SVN.
  • 集市(BZR)。

如果有志愿者的话,还可以添加其他人!Git和Mercurial支持 多年前我们在与BZR和Subversion合作时, 例如。

可用命令

releaser提供了四个命令来帮助您发布python 包装。它们必须在版本控制的签出中运行。命令 为:< > >

  • 预发行版 :要求您提供版本号(默认为当前版本号 版本减去"dev"左右),更新setup.py或version.txt和 changes/history/changelog文件(带有.rst/.txt/.md/.markdown或no 扩展)使用此新版本号并提供提交这些更改的功能 颠覆(或bzr或hg或git)。
  • 发布 :复制当前签出的主干或分支,并 创建它的版本控制标记。在 临时目录。提供注册和上载源dist 将此包的索引设置为pypi(python包索引)。注意:如果包裹有 还没有注册,它不会帮你的。你必须注册 手动打包( python setup.py register ),因此这仍然是有意识的 决定。主要原因是你不想说:"哦,我 将我们的客户端代码上传到Internet;这是初始版本 用明文根密码。"
  • PostRelease :询问您版本号(给出一个合理的默认值),添加 一个开发标记,更新setup.py或version.txt和 changes/history/changelog文件,并提供提交这些更改的功能 到版本控制。注意,对于git和hg,您还需要 你的变化(从3.27开始)。否则释放和标记只存在于 本地hg/git存储库,而不是服务器上。
  • 完全释放 :按顺序执行以上所有操作。

注意:标记文件应该使用标题的"下划线"样式,而不是 "ATX"样式,在标题前面加上 符号。

还有一些附加工具:

  • longtest :呈现setup.py详细描述的小工具 并在Web浏览器中打开它。这假定安装了docutils (因为它需要 rst2html.py )。
  • lasttagdiff :显示电流 差异的小工具 带有最后一个释放标记的分支。方便检查是否所有 这些更改在更改文件中有充分的说明。
  • lasttaglog :显示当前日志的小工具 自上次发布标记以来的分支。方便检查是否所有 这些更改在更改文件中有充分的说明。
  • addchangelogentry :在命令行上传递文本,然后 将此添加为更改日志中的条目。可能主要是 当您在一批包中进行相同的更改时非常有用。 同一文本用作提交消息。在变更日志中,文本 缩进,第一行以短划线开始。命令 如果您使用星号作为 条目
  • bump version :不释放,只碰撞版本。一 开发标记在那里时保留。利用 --功能 更新次要版本。使用选项 --中断 主要版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java读取SSLSocket的最快或最佳方式   JavaGuice向类构造函数注入对象   java类不是抽象的,并且不会覆盖OnClickListener中的抽象方法onClick(视图)   java OpenGL 1.1更改颜色更改以前的颜色?   c#将Java/Android连接到。网络服务   java在节点上生成AES密钥   java Liferay与MarkLogic XDBC数据库集成   java使用静态初始化块来提高性能   java如何在需要不同参数的另一个方法中使用同一类中的方法   音频Java多种声音   Java显式引用转换   java Intellij,如何在maven项目中导入模块   java在什么条件下调用ELResolver的setValue方法?   java在beanshell中计算代码字符串并获取beanshell解释器返回的值   javascript将音频文件上载到服务器并从服务器响应设置图像   编码风格清理java代码,多个else if语句   java是否需要使此变量可变?   java线程未更新GlassPane上的进度条   java关闭调试模式@Vaadin Spring启动应用程序