返回介绍

4.2 使用 pbr 打包

发布于 2024-01-23 21:41:46 字数 1502 浏览 0 评论 0 收藏 0

现在我已经用了好几页让你对如此多的分发工具更加迷糊,接下来让我们谈谈另一个工具,也是一个不同的选择,名为pbr。

你可能已经开发过一些包并试图去写setup.py,或者从其他项目复制一个,或者自己啃文档。这不是一个清晰明确的任务,如同我们在前面讨论过的,选择什么工具通常是第一个障碍。本节将介绍pbr,一个应该用来开发你的下一个setup.py的工具,以便你不用再在这部分浪费时间。

pbr是指Python Build Reasonableness。这个项目已经在OpenStack(http://openstack.org)内部启动,并围绕setuptools开发了一系列用来辅助包的安装和部署的工具。它从distutils2获得了灵感,利用setup.cfg文件来描述包的用途。

pbr使用的setup.py文件类似下面这样:

import setuptools

setuptools.setup(setup_requires=['pbr'], pbr=True)

就两行代码,非常简单。实际上安装所需要的元数据存储在setup.cfg文件中:

[metadata]
name = foobar
author = Dave Null
author-email = foobar@example.org
summary = Package doing nifty stuff
license = MIT
description-file =
  README.rst
home-page = http://pypi.python.org/pypi/foobar
requires-python = >=2.6
classifier = 
  Development Status :: 4 - Beta
  Environment :: Console
  Intended Audience :: Developers
  Intended Audience :: Information Technology
  License :: OSI Approved :: Apache Software License
  Operating System :: OS Independent
  Programming Language :: Python

[files]
packages =
  foobar

看着眼熟?没错,处理的方式都是直接受distutils2的启发。

pbr还提供了其他一些功能,例如:

· 基于requirements.txt做自动依赖安装;

· 利用Sphinx实现文档自动化;

· 基于git history自动生成AUTHORS和ChangeLog文件;

· 针对git自动创建文件列表;

· 基于git tags的版本管理。

所有这些对开发人员来说只有一点儿或完全没有任何额外工作要做。pbr目前维护良好并且开发很活跃,所以如果计划分发软件的话,应该认真考虑一下使用pbr。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文