当前位置: 首页 > news >正文

rust python 混合编程注意点

rust可以使用pyo3写python 扩展,同时使用maturin编译发布. 以本人mongo_emb为例子,把踩坑中的注意点记录如下:

  • 关于项目结构 :

    • 参见 项目链接 https://github.com/wangmarkqi/mongo_emb
    • 注意mongo_emb文件夹下core.py 的import from .mongo_emb import PyDatabase, PyCollection 这里的.mongo_emb是cargo的libname,通过这个import是的py和rust发生了关系. 可以想象cargo build后这个文件夹下产生了一个.pyd的py拓展库.
    • init.py 暴露了整个库的模块,内部的rust模块在core.py 使用
  • 关于交叉编译:

    • maturin build 仅仅编译源代码包和本地适配whl
    • cago.toml中间的pyo3 = { version = “0.27.1”, features = [“abi3-py38”,“extension-module”, “auto-initialize”] }, abi3保证whl不受到py版本限制.
    • 以win为例,以下方法可以编译出linux版本
 rustup target add x86_64-unknown-linux-gnu    pip install ziglang   maturin build --release  --target  x86_64-unknown-linux-gnu --zig
  • 关于发布
    • maturin publish仅仅发布源代码和本地适配
    • 采用交叉编译把结果拷贝到dist,然后 twine upload dist/* 可以上传交叉编译结果
http://www.dtcms.com/a/516911.html

相关文章:

  • 做正品的网站申请个人网站有什么用
  • 潍坊网页网站制作怎么做的网站收录快
  • 江象网站建设成都网站建设优化推
  • Elasticsearch从入门到进阶——Elasticsearch部署与使用
  • 嵌入式软件架构--按键消息队列3(测试)
  • 淘宝导购网站模版上海城隍庙简介
  • 怎么建立企业网站免费的软件项目管理方案
  • 工作流activiti(1)
  • 合泰单片机之点亮开发板的所有LED灯
  • 找不到mfc140d.dll文件
  • Dexmal 原力灵机开源 Dexbotic:具身智能的“Transformers“库来了
  • 毕设做网站有什么题目网络规划设计师攻略
  • 【avalonia教程】15Binding的其他属性(2)
  • 企业网站作用平湖手机网站建设
  • 算法leetcode|96. 不同的二叉搜索树(多语言实现)
  • 快速上手ip link命令:查看你的网络接口信息
  • 视频汇聚平台EasyCVR级联播放偶发失败排查:TCP主动模式下的3秒超时响应差
  • 苏州马可波罗网站建设wordpress单页主题制作视频教程
  • html手机网站怎么做清新织梦淘宝客模板淘客网站程序源码
  • 20.2 图像识别技术革命:多模态模型准确率突破87.6%,传统方案效率飙升32%!
  • 深圳网站建设加盟网站 方案
  • ★ Linux ★ 线程概念与控制
  • 设计师接私单做网站为什么打不开建设银行网站
  • 前端-登录认证技术
  • AI开发结构化输出
  • Leetcode 32
  • eclipse tomcat运行普通web项目发现mysql-connector-java-8.0.30.jar包无法自动部署 的解决办法
  • 【经典算法,限时免费】LeetCode698、划分K个相等的子集(回溯解法)
  • 做网站为职业生存不下去nginx wordpress rewrite
  • RK3568 MIPI 摄像头驱动的 V4L2 多平面视频格式解析