【发布时间】:2020-02-17 20:30:51
【问题描述】:
如何使用setuptools 和pbr 实际创建使用git repo 标记进行版本控制的python 包的发布/发行版?
有大量关于所需基本设置和配置的信息:
- SetupTools Documentation - setup() and setup.py configuration
- Python Packaging User Guide - Installing Packages
- PBR v3.1.1 documentation
- StackOverflow: How to use version info generated using
setuptoolsandpbr
但是关于如何实际创建发行版的简单信息在哪里?
即我正在寻找任何命令找到带有版本信息的 git 标记并将其拉入配置信息中,因此可以分发具有该新版本信息的源,并且可以使用描述的方法从脚本中发现版本信息在this answer。
其他细节
我正在开发一个仅通过 git 存储库而不是通过 PyPi 分发给其他开发人员的项目。该项目将使用pyinstaller 以可执行文件的形式发布给用户,因此此包分发仅用于几个关键目的:
- 为其他开发人员安装/设置软件包,以便可以干净地重新创建依赖项/环境。
- 管理版本控制 - 当前计划是使用
pbr从 Git 存储库标签生成版本,因此这些标签可以成为我们版本控制的真实来源 - 使用
pbr从 Git 自动生成普通项目,例如作者、manifest.in 文件、发行说明等。
由于 setuptools 文档专注于使用 PyPi 和 pip 设置完全可分发和可重用的包,而 pbr 文档仅真正告诉您如何修改 setuptools 配置以使用pbr,我找不到关于如何运行分发/发布过程的信息。
我确定它存在于文档中的某个地方,但是在几次错误的开始之后我在这里问。我所看到的任何地方都暗示每个人要么知道如何做到这一点,要么它只是作为过程的一部分神奇地发生了。
我只是错过了显而易见的事情吗?
更新:
根据 sinoroc 的回答,看来我需要查看开发模式安装。即任何开发项目的人都会从 git 克隆,然后使用setuptools 开发安装模式进行安装。
这不是原始问题的直接部分,而是暗示的,我相信处于相同情况的人会感兴趣(我无法轻易找到的信息)。
更多信息可在他关于更新一些元数据的回答中获得,并通过this setuptools documentation link to working in "Development Mode"
【问题讨论】:
标签: python git versioning setuptools python-pbr