#python #build-script #information #distribution #flags #interface #binary

构建 python-config-rs

通过 python3-config 获取 Python 发行版信息。这个软件包提供了 Rust 接口来访问系统的 Python 发行版信息。我们的目标是使它在构建脚本或任何需要获取 Python 包含目录、链接器标志或编译标志的应用程序中非常有用。此软件包还提供了 python3-config 脚本的重新实现,可以查询关于您发行版的配置信息。二进制文件只需要一个 Python 解释器。我们证明我们的二进制文件与现有的 python3-config 脚本具有 API 兼容性。有关更多项目信息,请参阅仓库。

3 个版本

0.1.2 2019 年 2 月 3 日
0.1.1 2019 年 2 月 2 日
0.1.0 2019 年 2 月 2 日

#444构建工具

Download history 210/week @ 2024-03-14 276/week @ 2024-03-21 227/week @ 2024-03-28 315/week @ 2024-04-04 191/week @ 2024-04-11 238/week @ 2024-04-18 249/week @ 2024-04-25 158/week @ 2024-05-02 205/week @ 2024-05-09 289/week @ 2024-05-16 146/week @ 2024-05-23 343/week @ 2024-05-30 199/week @ 2024-06-06 189/week @ 2024-06-13 289/week @ 2024-06-20 165/week @ 2024-06-27

每月 927 次下载
用于 2 crates

MIT/Apache

24KB
322

python-config-rs

API 文档

python-config-rs 软件包提供了与您 Python 发行版捆绑的 python-config 脚本相同的洞察力。该软件包旨在用于需要以下内容的构建脚本:

  • Python 包含目录
  • 构建/链接 Python 的标志
  • 构建您的 Python 安装时使用的 ABI 标志
  • python3-config 已经提供的任何 Python 信息
use python_config::PythonConfig;

let cfg = PythonConfig::new(); // Python 3 by default

// Print include directories
println!("Includes: {}", cfg.includes().unwrap());
// Print installation prefix
println!("Installation prefix: {}", cfg.prefix().unwrap());

默认情况下为 Python 3,但我们提供 Python 2 接口。请注意,Python 2 接口经过的测试要少得多。

基于这个库,我们还提供了 python3-config 的重新实现。我们的自动化测试表明,我们的实现与正常的 python3-config 脚本等效。二进制文件仅支持 Python 3。

python3-config API 兼容性

下表显示了基于平台和 Python 发行版的默认 python3-config 脚本的当前兼容性。勾号 '✓' 表示我们的测试套件通过了。问号 '?' 表示我们尚未对这种主机系统和 Python 发行版的组合进行过测试。'X' 表示在该系统上与该 Python 发行版不兼容。

Python macOS Debian Stretch
3.5 ?
3.7 ?

某些 python3-config 实现返回的标志字符串在标志之间有多个空格。这类不一致在我们的测试中是可以接受的。

许可证

在Apache许可证版本2.0(LICENSE-APACHE 或在此处可获取 这里)或MIT许可证 LICENSE-MIT 或在此处可获取 这里)下授权,任选其一。项目中的所有文件不得复制、修改或分发,除非符合这些条款。

依赖关系

~180KB