我正在制作一个电子游戏,其中需要从Python文件中设置Rust对象(例如添加一个带有texture:“”,coords:“”,text:“”,action:“”的按钮)。 我使用pyo3创建来连接Python和Rust。我成功地从我的Rust代码中调用Python脚本,但我找不到如何从Py...
我对Rust还不是很熟悉,我的第一个“正式”项目涉及使用PyO3编写Python包装器的小型Rust库。这大多数情况下都很顺利,但我正在努力找出如何将Rust Vec上的惰性迭代器暴露给Python代码。 到目前为止,我一直在收集迭代器产生的值并返回一个列表,这显然不是最好的解决方案。以下是...
我正在编写一个使用多个库的Rust项目。其中一些库导出类型,由工作区中的其他库使用。除了Rust套件之外,我还想使用pyo3 crate将一些库暴露给Python,并生成Python绑定,这就是我遇到问题的地方。 问题如下。 假设我们有两个Rust库包,producer和consumer。...
我是一个Rust和PyO3的新手(来自Python),对于更有经验的人可能很明显。 我在PyO3中声明了一个pyclass结构体。 #[pyclass] struct Block { start: i32, stop: i32, } 然后我在一个接受 Block 向量并...
我正在使用 cargo、maturin 和 pytest 构建一个混合 Python/Rust 项目。在开发过程中,我经常循环执行以下命令: $ cargo test -p mypkg --release $ maturin develop --release $ python -m pyt...
我有一个使用PyO3和Rust编写的Python库,其中涉及一些昂贵的计算(单个函数调用最长需要10分钟)。在从Python中调用时如何终止执行? Ctrl+C似乎只能在执行结束后处理,因此基本上是无用的。 最小可重现示例: # Cargo.toml [package] name = ...