我多次感到需要一个详细的教程,汇集从 Rust 安装到 Python 部署所需的所有步骤。
事实上,在新机器上安装并忘记一些必要的步骤可能会浪费大量时间。
我为社区提供了以下针对 Linux 系统的教程。 不同的步骤必须从终端执行。
我想要一份全面的指南来遵循所需的步骤。所以我创建了一个(参见答案)
这个想法来自这篇关于优化的文章:pandas 或 Polars:找到比当前元素大的前一个元素的索引
我认为提供一个快速实现指南可能会很有趣,我将把一个算法转移到 Rust 中作为本指南的示例,以便回答这篇文章。
如果您的系统上尚未安装 Rust,请先安装它:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
按照屏幕上的说明进行操作,这将在您的系统上设置 Rust 和 Cargo。
安装完成后,您可以验证 rustc(Rust 编译器)是否已正确安装:
rustc --version
为了确保您使用的是最新版本的 Rust 及其工具,请运行:
rustup update
确保已安装 Cargo(Rust 的包管理器和构建系统):
cargo --version
要查看 Rust 安装的详细信息,包括安装路径和默认版本,请使用:
rustup show
使用 Cargo 创建一个新的库项目,用于将 Rust 与 Python 连接:
cargo new --lib rust_python_example
这将创建一个具有初始项目结构的新文件夹
rust_python_example
。
打开项目文件夹中的
Cargo.toml
文件并添加 pyo3 所需的依赖项:
[dependencies]
pyo3 = { version = "0.20.3", features = ["extension-module"] }
您可以安装
cargo-outdated
来检查您的依赖项是否是最新的:
cargo install cargo-outdated
cargo outdated
更新前,可以搜索最新版本的pyo3:
cargo search pyo3
如有必要,更新 pyo3 依赖项:
cargo update -p pyo3
打开
src/lib.rs
文件并编写要向 Python 公开的 Rust 代码。
构建库:
cargo build --release
使用
pip
安装 maturin
,一个将 Rust 包构建和发布为 Python 模块的工具:
pip install maturin
在项目文件夹中,运行
maturin
来构建轮子:
maturin build --release
在
target/wheels
中找到wheel文件并使用pip
安装它:
pip install rust_python_example-*.whl
安装模块后,您可以通过将其导入Python脚本来测试:
import rust_python_example
rust_python_example.run()