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

邢台网站推广公司凌河建设网站

邢台网站推广公司,凌河建设网站,WordPress如何推广,网站备案时间要多久使用 Rust 扩展 RobynPyO3 Bridge示例#xff1a;一个简单的Rust扩展1、安装必须的组件2、初始化Rust项目3、编写Rust代码4、在Robyn中使用Rust代码在“Robyn高性能Web框架系列07#xff1a;多进程、性能调优”一节中#xff0c;我们讲解了Robyn丰富的性能调优方式#xff… 使用 Rust 扩展 RobynPyO3 Bridge示例一个简单的Rust扩展1、安装必须的组件2、初始化Rust项目3、编写Rust代码4、在Robyn中使用Rust代码在“Robyn高性能Web框架系列07多进程、性能调优”一节中我们讲解了Robyn丰富的性能调优方式其中也详细说明了其独特的“Python-Rust 混合架构”即Python层负责业务逻辑Rust层负责性能调优Python层与Rust层通过PyO3有机结合这样既可以获得Python易开发性与 Rust 的高性能。本节将通过一个小示例来讲解如何使用 Rust 扩展 Robyn。 PyO3 Bridge 在Robyn提供了一些Rust扩展机制如--create-rust-file命令与--compile-rust-path命令然而这些命令不是很好用。既然Robyn是基于PyO3实现的“Python-Rust 混合架构”那么我们就直接通过PyO3来完成使用 Rust 对Robyn的扩展。 PyO3 是一个用于将 Python 与 Rust 集成的库支持Python与Rust的双向互调用 在 Rust 中编写 Python 模块作为扩展模块供 Python 调用。在 Rust 中嵌入 Python 解释器让 Rust 调用 Python 代码。 当然PyO3本身就是一个复杂、完善的工具本节并不打算深入讲解PyO3有兴趣的小伙伴可以关注GeekABC后续的文章。 示例一个简单的Rust扩展 在计算机图形学Computer Graphics 中三角形面积计算有非常广泛的用途因此提高三角形面积计算的性能有很大的意义。在本示例中我们将使用Robyn的Python层来接收用户输入的“高”和“底边”的长度使用Rust 层来完成面积计算返回给Python层最后返回给用户。 1、安装必须的组件 Rust 开发环境 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh 安装后运行 rustc --version cargo --version确保 Rust 和 Cargo 已可用。 Python 环境 需要安装与目标编译版本匹配的 Python 解释器 推荐使用 pyenv 或虚拟环境venv, condapython3-dev / python3.X-devLinux版本必须存在可支持多个 Python 版本构建时指定。 maturin——构建与发布工具 maturin它是一个用于以最低配置构建和发布基于 Rust 的 Python 包的工具。 pip install maturin最好进行验证 maturin --version在不同的环境中安装上述组件时可能会有具体问题请根据实际情况进行调整。 2、初始化Rust项目 Rust项目可以作为一个独立项目也可以直接放在Robyn项目的特定位置如src/components下。使用maturin init命令初始化项目 cd src/components/triangle_area maturin init ✔ What kind of bindings to use? · pyo3✨ Done! New project created triangle_area这时会产生一个类似的项目结构 src ├── app.py ├── components├── triangle_area├── src├── lib.rs├── Cargo.toml├── pyproject.toml3、编写Rust代码 Cargo.toml [package] name triangle_area version 0.1.0 edition 2021 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] name triangle_area crate-type [cdylib] [dependencies] pyo3 0.25.0必须保持package和lib的name一致。 src/lib.rs use pyo3::prelude::*; /// Formats the sum of two numbers as string. #[pyfunction] fn area_by_base_height(base: f64, height: f64) - PyResultf64 { Ok(0.5 * base * height) } /// A Python module implemented in Rust. #[pymodule] fn triangle_area(m: Bound_, PyModule) - PyResult() { m.add_function(wrap_pyfunction!(area_by_base_height, m)?)?; Ok(()) }必须保持pymodule的name与Cargo.toml中的package和lib的name一致。 4、在Robyn中使用Rust代码 完成代码编写后运行maturin develop命令这将构建软件包并将其安装到之前创建并激活的 Python 虚拟环境中。这时我们就可以在Robyn项目中使用import triangle_area引入该库了。 from robyn import Robyn, Request from robyn.types import PathParams import triangle_area app Robyn(__file__) app.get(/calc_triangle_area/:base/:height) def calc_triangle_area(request: Request,path_params: PathParams): try: r triangle_area.area_by_base_height( basefloat(path_params.get(base,0.0)), heightfloat(path_params.get(height,0.0)) ) except: return {message: Invalid input for base or height} return {message: r}
http://www.zqtcl.cn/news/118143/

相关文章:

  • 网站代码 字体好用的cms网站
  • 美食网站首页设计用手机怎么看自己做的网站
  • 平台类网站开发怎样做永久网站二维码
  • 网站开发客户挖掘php网站开发心得3500字
  • 检察院做网站的目的青岛网站推广优化
  • dede替换网站模板定制网站建设的流程
  • 天津专业网站制作网站开发模板
  • 做二手车网站需要什么怎样建立门户网站
  • 宁波做网站首荐荣盛网络网站建设太仓
  • 购物网站公司要花费多少钱wordpress 菜单 字体加粗
  • 网站模板如何编辑软件crm免费客户管理系统
  • 微信制作网站设计重庆关键词优化软件
  • 网站的设计与应用论文平台推广计划书模板范文
  • 网站备案用户名忘了怎么办网站做301排名会掉
  • 厦门制作网站企业网站子域名怎么做
  • 青岛微网站开发品牌建设青之见
  • 淄博哪有培训做网站的湖南营销型网站建设企业
  • 动物网站建设深圳最好的营销网站建设公司
  • 各种网站制作陕西建设厅证件查询网站
  • 如何提高一个网站如何做简单网站
  • 游戏网站开发找什么人可建智慧园区设计方案
  • 重庆网站设计公司推荐福州移动网站建设
  • 移动网站功能做网站fjfzwl
  • 食品网站建设的目的中级经济师考试成绩查询
  • 普宁建设局网站免费的网站开发平台
  • 网站域名主机空间区别网站上传系统
  • 建设高端网站公司的目的淮南房产网
  • 网站建设 中山网站建设新得体会
  • 快速搭建网站视频教程看想看的做想做的电影网站好
  • 网站聊天怎么做2345网址导航智能主版