使用 rust 编写package 加速python PyO3
使用 rust 编写package 加速python PyO3
- 基础用法
- 虚拟环境(可以不用)
- 构建
- 创建新项目
- 方法1
- 方法2
- 创建 Python 模块
- 导出函数到 Python
- pip 安装
- 参考
基础用法
要开始使用 PyO3,你需要三样东西:Rust 工具链、Python 环境以及构建方式PyO3支持 stable 和 nightly 版本,因此你可以选择最适合自己的版本。最低要求的 Rust 版本为 1.74。
如果你可以运行 rustc --version 且版本足够新,就可以继续了!
虚拟环境(可以不用)
在使用 pyenv 安装时保留源代码可能会对以后的调试有帮助,这样将来调试时就能看到原始的源文件。可以通过在 pyenv install 命令中添加 --keep 标志来实现。
例如:
pyenvinstall3.12--keep构建
有多种构建和 Python 包管理系统可供选择,比如 setuptools-rust 或 手动构建。我们推荐使用 maturin,你可以在这里安装:maturin.rs/installation.html。maturin 是专为与 PyO3 协同开发而设计的,提供了最完整的“开箱即用”体验,特别是如果你计划发布到 PyPI。maturin 本身只是一个 Python 包,因此你可以像安装其他 Python 包一样安装它。
pipinstallmaturin--user创建新项目
方法1
方法2
1、创建一个新的 Rust 库项目:
cargonew--libmy_python_modulecdmy_python_module2、在 Cargo.toml 中添加 PyO3 依赖;会自动生成
[package]name="my_py