PyO3 Maturin 完整安装与使用手册一、基础项目信息1.1 PyO3 核心信息表格项目内容GitHub 地址https://github.com/PyO3/pyo3官方文档https://pyo3.rs开源协议MIT / Apache-2.0 双协议支持免费商用稳定版本0.23.xPython 支持Python 3.8兼容 CPython、PyPy、GraalPy配套构建工具maturin官方推荐1.2 Maturin 核心信息maturin 为 PyO3 配套构建工具用于将 Rust 代码编译为 Python 可直接安装的.whl包表格项目内容GitHub 地址https://github.com/PyO3/maturin官方文档https://www.maturin.rs最新版本1.12.22026 年 3 月发布开源协议Apache-2.0 / MIT 双协议二、前置环境安装2.1 安装 Rust 工具链bash运行# 一键安装 rustup、rustc、cargo curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh安装完成后重启终端验证安装bash运行rustc --version cargo --version2.2 安装 maturin三选一uv 方案推荐bash运行# 方案1uv 安装推荐适配 uv 项目工作流 uv tool install maturin # 方案2pipx 安装 pipx install maturin # 方案3原生 pip 安装 pip install maturin验证 maturin 是否生效bash运行maturin --version三、完整项目开发流程3.1 创建 PyO3 混合项目bash运行# 新建项目 my_fast_tool maturin new my_fast_tool cd my_fast_tool自动生成目录结构plaintextmy_fast_tool/ ├── Cargo.toml # Rust 依赖配置 ├── pyproject.toml # Python 打包规范配置 └── src/ └── lib.rs # Rust 核心代码Python 导出逻辑3.2 编写 Rust 导出代码src/lib.rsrust运行use pyo3::prelude::*; // 标记函数可暴露至 Python #[pyfunction] fn fast_calculate(numbers: Veci64) - i64 { numbers.iter().sum() } // 模块入口注册所有导出函数 #[pymodule] fn my_fast_tool(m: Bound_, PyModule) - PyResult() { m.add_function(wrap_pyfunction!(fast_calculate, m)?)?; Ok(()) }3.3 编译项目两种模式模式 1开发调试热加载推荐日常迭代编译后自动安装至当前虚拟环境修改代码无需手动重装bash运行maturin develop模式 2生产打包生成 whl 安装包bash运行maturin build --release产物输出目录target/wheels/3.4 使用 uv 安装编译后的 whl 包bash运行# 写入项目依赖更新 pyproject.toml uv add ./target/wheels/my_fast_tool-0.1.0-cp312-cp312-linux_x86_64.whl # 仅安装至虚拟环境不修改项目配置 uv pip install ./target/wheels/my_fast_tool-0.1.0-cp312-cp312-linux_x86_64.whl3.5 Python 调用 Rust 代码python运行import my_fast_tool res my_fast_tool.fast_calculate([1, 2, 3, 4, 5]) print(res) # 输出 15四、发布至 PyPI可选方式 1maturin 一键发布bash运行maturin publish方式 2maturin 打包 uv 发布bash运行# 先构建 release 包 maturin build --release # 使用 uv 上传至 PyPI uv publish五、整体流程总结plaintext安装 Rust maturin ↓ maturin new 创建混合项目 ↓ 编写 src/lib.rs Rust 业务代码 ↓ maturin develop 本地调试 或 maturin build --release 生成 whl 包 ↓ uv add / uv pip install 安装编译包 ↓ Python import 直接调用 Rust 高性能函数
企业数字化 ERP 产品动态
相关推荐
VITURE Auto Immersive 3D:安卓实时2D转3D技术实践指南 这次我们来看一个很有意思的技术发布——VITURE 推出的 Auto Immersive 3D 技术。这个技术最核心的价值在于,它能让普通的安卓系统实时实现 3D 立体化效果,不需要依赖特殊的硬件或复杂的开发流程。如果你关心移动端 3D 渲染、AR/VR 应用开发,… · 2026/7/26 19:20:12
Dify、n8n与ComfyUI:三大AI自动化平台对比解析 1. 平台定位与核心价值解析Dify、n8n和ComfyUI这三个平台虽然都涉及AI与自动化领域,但各自的产品定位和目标用户群体存在显著差异。理解这些差异是选择合适工具的第一步。1.1 Dify:AI应用开发的一站式平台Dify将自己定位为"生产就绪的LLM应用开发平… · 2026/9/17 1:16:54
它解决的不是“再造一个 Channel”# ConcurrentQueue、BlockingCollection 和 Channel 都是非常实用的基础组件。
特别是 Channel,它已经覆盖了高性能异步生产消费、等待唤醒、背压和有界容量等大量通用场景。对于简单的单队列生产消费模型,它通常已经足够好用。
ConcurrentQueue 更适合直接… · 2026/9/17 2:44:27
Python搭建QQ聊天机器人极简教程 随着QQ粉丝群管理需求的不断增长,简单的群管工具难以满足复杂的信息响应和自动化需求。现有的自动回复机器人虽然功能强大,但其高昂的年费成为不少用户的顾虑。因此,通过搭建一个自定义机器人来实现自动回复,成为解决这一问题的有效途径。
基于此需求,本文介绍了使用go-c… · 2026/9/28 2:14:08
Python整理百度云盘文件大量重复无用文件 百度云盘容量有限,当文件数量逐渐增多,空间很容易被填满。删除重复文件可以帮助释放大量空间。通过获取云盘缓存目录并使用Python脚本来整理数据,可以高效识别重复文件并避免手动操作的繁琐。
此方法基于 sqlite3 和 pandas 进行数据处理,简单快捷。 文章目录 云盘数据整理… · 2026/9/28 2:14:07
Python实现将图片转化为具有视觉震撼效果的字符图 字符画是一种将图片转化为字符的艺术表现形式,它通过字符的密度和排列来模拟图片的色彩和形状效果。这种技术不仅在视觉上充满了创造力,还在文字处理领域展示了字符的丰富表现力。通过Python,可以将图片转换为字符画,生成具有视觉冲击力的字符艺术。
本文将通过具体步骤和… · 2026/9/28 2:13:48
Python实现将目录下的图片合并成PDF文件 在图像处理和文档管理中,经常需要将一系列图片文件合并为PDF格式,以便于传输、存档和阅读。Python凭借其丰富的第三方库,为图像处理和PDF操作提供了便捷的解决方案。
本文将详细介绍如何通过Python脚本,将目录中的所有图片合并为一个PDF文件,内容包括从基础环境配置到代码… · 2026/9/28 2:13:48
Python实现文件移动到指定文件夹 在编程过程中,经常需要对文件进行整理和管理,将不同类型的文件分类存放在指定文件夹中。Python提供了强大的文件操作模块,使得文件的移动操作变得简单高效。这篇教程将详细讲解如何使用Python实现将文件移动到指定文件夹的功能,帮助理解并掌握文件操作的基本方法和常见应用… · 2026/9/28 2:13:47
【PyQt】PyQT6制作一个Django项目启动器 在现代的桌面和Web应用开发中,Python以其简单高效的特点获得了广泛的应用。通过集成PyQt和Django框架,将桌面应用的便捷操作与Django项目的后端处理相结合,不仅能够提升用户体验,更能显著提高开发的便利性和效率。
本文将聚焦于如何构建一个基于PyQt的Django项目启动器,实… · 2026/9/28 2:13:40
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
制作网页比较方便的软件怎么选?一文搞懂避坑指南 制作网页比较方便的软件怎么选?一文搞懂避坑指南 很多老板一上来就问:做个网站多少钱?但我反问他:你的域名买了吗?服务器租了吗?他一脸懵。这就是典型的“域名服务器搞不懂”。别急,今天咱们不聊虚的,直接 一文搞懂 那些让你头秃的技术名词。… · 2026/9/28 0:00:06
婚恋网站实战案例:避开3个高价坑,省钱50%还能跑赢流量 婚恋网站实战案例:避开3个高价坑,省钱50%还能跑赢流量 找婚恋网站建站公司,最怕的就是被坑高价。很多同行跟我吐槽,报价单上写得模棱两可,功能栏里全是“高级定制”、“专属UI”,结果落地全是套壳。今天不聊虚的,直接甩几个我经手的 实战案例… · 2026/9/28 0:00:19
济南做网站多少钱:3个案例拆解,防黑源码下载全攻略 济南做网站多少钱:3个案例拆解,防黑源码下载全攻略 上周济南一个做建材的老板找我,脸都绿了。他的官网首页弹出了赌博广告,后台被植入了挖矿脚本。他慌得问我:“网站被黑挂马不知道怎么办?能不能直接找之前的外包公司要源码下载,看看哪里被动了手脚?… · 2026/9/28 0:00:25