Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python从Rust程序内部调用函数的最佳实践是什么?_Python_Rust_Ffi_Pyo3 - Fatal编程技术网

使用Python从Rust程序内部调用函数的最佳实践是什么?

使用Python从Rust程序内部调用函数的最佳实践是什么?,python,rust,ffi,pyo3,Python,Rust,Ffi,Pyo3,我想实现一个系统,它由一个Python UI和一些数据存储和函数组成。 用户执行python代码,而python代码又在子流程中执行Rust程序。 我希望Rust程序在后台运行,等待与Python UI交换变量或函数调用,例如每次按下按钮时 我的障碍是: 我曾尝试创建一个简单的Rust FFI库,可以用Python中的ctypes调用,但我不知道该库如何能够与后台运行的已编译的Rust程序通信 另一种方法是使用PyO3来使用rust创建python模块。但我同样无法理解这将如何与rust计划合作

我想实现一个系统,它由一个Python UI和一些数据存储和函数组成。 用户执行python代码,而python代码又在子流程中执行Rust程序。 我希望Rust程序在后台运行,等待与Python UI交换变量或函数调用,例如每次按下按钮时

我的障碍是:

我曾尝试创建一个简单的Rust FFI库,可以用Python中的ctypes调用,但我不知道该库如何能够与后台运行的已编译的Rust程序通信

另一种方法是使用PyO3来使用rust创建python模块。但我同样无法理解这将如何与rust计划合作来交换数据


您的后台进程将需要公开某种RPC机制,例如或

然后,任何其他应用程序都可以使用相同的RPC机制调用后台进程。例如,对于Python,有用于和的库