创建一个rust写的python库

1.安装cargo

windows上安装rustup-init.exe
https://win.rustup.rs/x86_64

linux

复制代码
sudo agt-get install cargo

2.安装maturin

复制代码
pip install maturin

3.创建项目

复制代码
mkdir my1stplugin
cd my1stplugin
maturin init

创建时选择pyo3,然后就会产生若个项目文件

其中src里面有个lib.rs给出了示例

4.编译库安装到当前python环境(以示例lib.rs为基准)

复制代码
maturin develop

5.编写测试py脚本

复制代码
import my1stplunin

if __name__ == "__main__":
    res = my1stplunin.sum_as_string(11,2)
    print(res) # 结果13

--------报错处理---------------------------------------

E+00000.030: Error while enumerating installed packages. ....

重新安装importlib-metadata

复制代码
pip install --upgrade importlib_metadata
相关推荐
星栈4 分钟前
写 Makepad Demo 不难,难的是把它写成项目
前端·rust
程序员二叉8 分钟前
【JUC】AQS底层深度拆解|独占/共享模式|队列原理全详解
java·开发语言·面试·juc
踏着七彩祥云的小丑9 分钟前
Go 学习第6天:结构体 + 切片 + range遍历
开发语言·学习·golang·go
读书札记202212 分钟前
Qt中windeployqt.exe工具的使用:解决使用CMake创建的项目点击exe文件后系统提示0xc000007b的问题
开发语言·qt
地铁潜行者13 分钟前
消息堆积后,为什么一扩容消费者,MySQL 先被打崩了?
java·后端
地铁潜行者17 分钟前
订单状态更新成功了,分账消息却没发出去:聊聊本地消息表的一致性坑
java·后端
别叫我老干部22 分钟前
一键给整个库造测试数据:外键、约束一个都不能少
后端·mysql
摇滚侠22 分钟前
SpringMVC 入门到实战 拦截器 78-82
java·后端·spring·maven·intellij-idea
椰椰椰耶24 分钟前
[SpringCloud][13]OpenFeign快速上手
后端·spring·spring cloud
xiaoshuaishuai824 分钟前
C# 定制化Markdown编辑器
开发语言·c#·编辑器