setuptools
和pbr
创建一个Python包的发布/分发版本,使用git repo标签进行版本控制?有很多关于基本设置和配置所需的信息:
- SetupTools文档 - setup()和setup.py配置
- Python打包用户指南 - 安装包
- PBR v3.1.1文档
- StackOverflow:如何使用
setuptools
和pbr
生成版本信息
我正在寻找能够找到带有版本信息的git标签并将其拉入配置信息的命令,以便使用该新版本信息的源代码可以分发,并且版本信息可以从脚本中发现,使用类似于this answer中描述的方法。
附加细节
我正在开发一个项目,将通过git repo分发给其他开发人员,而不是通过PyPi。该项目将作为可执行文件使用pyinstaller
发布给用户,因此此软件包分发仅服务于以下几个主要目的:
- 为其他开发人员安装/设置软件包,以便可以重新创建依赖项/环境。
- 管理版本 - 目前计划使用
pbr
从Git repo标签生成版本,因此这些标签可以成为我们版本控制的真正来源。 - 使用
pbr
自动生成来自Git的其他单调项目,例如作者、manifest.in文件、发布说明等。
由于setuptools
文档专注于设置具有完全可分发和可重用性的包与PyPi和pip
,而pbr
文档只是告诉您如何修改setuptools
配置以使用 pbr
,我找不到关于如何运行发布过程的信息。
我相信这个问题在文档中一定有解答,但是在多次尝试失败后,我想在这里询问。无论我看到的地方都暗示着每个人都知道如何做,或者它只是作为过程的一部分神奇地发生。
难道我错过了显而易见的东西吗?
更新:
根据sinoroc的回答,似乎我需要研究开发模式安装。即任何开发该项目的人都将从git克隆,然后使用setuptools
开发安装模式进行安装。
这不是直接与原问题有关,但是暗示了,并且我相信对于处于相同情况的人会很有帮助(这些信息我很难找到)。
有关更新某些元数据的更多信息,请参见他的答案,以及通过this setuptools
文档链接进入“开发模式”。