Devpi-builder从requirements.txt文件中读取,并逐个将列表中的Python包的wheels填充到devpi索引中。
项目描述
Brandon the Devpi Builder
Brandon,devpi构建器,从requirements.txt文件中读取,并逐个将列表中的Python包的wheels填充到devpi索引中。
Brandon示例
给定一个requirements.txt,我们可以使用以下命令将所有列出的包上传到本地devpi上的索引opensource/Debian_7
$ devpi-builder requirements.txt https://:3141/opensource/Debian_7
此类requirements.txt示例
progressbar==0.2.2 progressbar==0.2.1 PyYAML==3.11
命令行使用
usage: devpi-builder [-h] [--batch] [--user USER] [--password PASSWORD] [--blacklist BLACKLIST] [--pure-index PURE_INDEX] [--junit-xml JUNIT_XML] [--run-id RUN_ID] [--dry-run] [--client-cert CLIENT_CERT] requirements index Create wheels for all given project versions and upload them to the given index. positional arguments: requirements requirements.txt style file specifying which project versions to package. index The index to upload the packaged software to. optional arguments: -h, --help show this help message and exit --batch Batch mode. Do not prompt for credentials --user USER The user to log in as. --password PASSWORD Password of the user. --blacklist BLACKLIST Packages matched by this requirements.txt style file will never be build. --pure-index PURE_INDEX The index to use for pure packages. Any non-pure package will be uploaded to the index given as positional argument. Packages already found in the pure index will not be built, either. --junit-xml JUNIT_XML Write information about the build success / failure to a JUnit-compatible XML file. --run-id RUN_ID Add the given string to all entries in the XML output, allowing to distinguish output from multiple runs in a merged XML. --dry-run Build missing wheels, but do not modify the state of the devpi server. --client-cert CLIENT_CERT Client key to use to authenticate with the devpi server.
可以使用以下环境变量代替命令行参数
- DEVPI_USER
如果没有给出--user,将使用此环境变量的值。
- DEVPI_PASSWORD
如果没有给出--password,将使用此环境变量的值。
功能
读取类似requirements.txt的输入文件。
从环境(使用DEVPI_USER和DEVPI_PASSWORD)中读取用户/密码。
支持同一文件中的包的多个版本。
仅构建目标索引中尚未存在的包。
支持黑名单,以防止构建和上传某些包(某些包,如numpy,与其他包的依赖关系脆弱)。
可以使用单独的索引为纯Python包和带有二进制内容的包。
可以将构建结果记录到JUnit兼容的XML文件中,因此它可以被Jenkins解析。
许可证
变更日志
此列表列出了每个版本最重要的更改。
版本 6.1.0 — 2023-09-22
新增
支持在需求文件中使用VCS URL。
修复
为像zope-event这样的包构建轮子时,不再因为使用点而不是下划线来规范项目名称而出现错误。
版本 6.0.0 — 2023-06-09
新增
现在支持Python 3.10和3.11。
变更
改进了检查已构建包的性能。
移除
取消了对通过setup.py test运行测试的支持。该机制被认为已被上游弃用,移除它允许我们取消依赖。
Python 3.6不再受支持。它可能仍然可以工作,但我们将不再针对它运行CI。
版本 5.1.0 — 2021-11-05
新增
提供与pip 21.3及更高版本的兼容性,该版本取消了–build-directory选项。Pip自1.2版本以来一直在使用临时目录进行构建,因此不再需要手动处理此目录。
版本 5.0.1 – 2020-09-09
修复
在比较包名称时遵守不区分大小写的规则。这将导致将“cython”与“Cython”视为同一事物。
版本 5.0.0 – 2020-04-24
修复
移除对内部wheel API的依赖。这阻止了使用wheel版本 >= 0.32。
移除
Python 2不再受支持。
Python 3.5不再受支持。
版本 4.0.0 – 2018-11-02
修复
正确指定对Wheel的依赖关系,以避免使用不兼容的最新版本。
移除
Python 3.3和Python 3.4不再受支持。
版本 3.0.1 — 2017-11-21
修复
正确处理失败的包构建输出中的非ASCII字符。之前的版本如果请求JUnit XML输出文件,则会在这种情况下崩溃。
版本 3.0.0 — 2017-06-16
新增
可以使用命令行参数--batch来禁用任何提示。
变更
凭证传递的方式已被不兼容的方式更改。用户和密码的位置参数不再存在。相反,可以使用以下方式之一
通过--user和--password命令行参数传递凭证。
通过环境变量DEVPI_USER和DEVPI_PASSWORD传递凭证。
回答用户和密码的交互式提示。只有在未使用--batch的情况下才可能这样做。
版本 2.3.1 — 2017-05-19
变更
如果使用黑名单,则提高了性能。
版本 2.3.0 — 2017-04-07
新增
命令行参数--run-id允许指定一个运行标识符,该标识符将被添加到生成的JUnit XML中的每个条目中。
变更
变更日志现在采用Keep-a-CHANGELOG建议的格式。
版本 2.2.0 — 2016-05-23
新增
捕获构建错误,以便在构建失败的情况下输出更好的信息。感谢Travis Mehlinger。
版本 2.1.0 — 2016-04-22
新增
支持客户端证书。感谢Hans Lawrenz。
版本 2.0.0 — 2016-01-20
新增
通过依赖pip的默认下载缓存机制,与pip >= 8.0兼容。这对于仍然使用pip < 6.0的人来说实际上禁用了缓存。感谢Christian Stefanescu。
支持在不更改devpi服务器状态的情况下执行轮子构建的干燥运行。
现在官方支持Python 3.5。
移除
Python 3.2 已不再受支持。
版本 1.0.0 — 2015-05-22
变更
请使用 devpi-plumber 代替自定义的 devpi 包装器。
在决定是否构建软件包之前,请首先检查黑名单。
版本 0.4.0 — 2015-09-13
变更
只有当软件包是 wheel 格式且与当前系统兼容时,才认为它存在。感谢 Michael Still 和 David Szotten。
修复
源代码分发现在正确包含 README.md。感谢 Mikhail Lukyanchenko。
版本 0.3.0 — 2015-08-15
新增
支持纯 Python wheel 的特殊情况处理。
可选支持以 JUnit 兼容的 XML 报告跳过的软件包。
Python 3 支持
版本 0.2.1 — 2014-08-07
修复
修复了如果构建的 wheel 无法找到(因为 pip<=1.5.2 跳过了它)时崩溃的问题。
版本 0.2.0 — 2014-08-01
新增
支持软件包黑名单,以避免构建某些 wheel。
变更
尽可能多地构建软件包。如果一个失败,不要停止。
版本 0.1.0 — 2014-08-01
新增
构建软件包列表并将其上传到 Devpi 索引。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。