Используется для вопросов, связанных с библиотекой Rust pyo3.
1 ответ

Сбой вызова функции Python Rust с помощью kwargs

Я изо всех сил пытаюсь получить kwargs работать. Я понимаю, что так же, как #[args(args="*")] для args, #[args(kwargs="**")] для kwargs, Однако, когда я упаковываю следующее, используя pyo3-pack и попробуй позвонить test1 с любыми аргументами я полу…
03 янв '19 в 01:39
3 ответа

Вектор пользовательской структуры в PyO3

Я новичок в Rust и PyO3 (из Python), так что это может быть очевидно для более опытных людей. Я объявил структуру Pyclass в PyO3. #[pyclass] struct Block { start: i32, stop: i32, } Тогда я использую Block в функции ржавчины, которая принимает вектор…
16 янв '19 в 08:59
2 ответа

Как может actix Actor иметь PyO3 Python?

Я пытаюсь создать Actix Actor, который имеет интерпретатор PyO3 Python и объекты Py. Вопрос в том, как правильно создать актер интерпретатора Python? Я думаю, что ошибка, вызванная чертой актера, определена как статическая. https://docs.rs/actix/0.7…
12 сен '18 в 06:13
0 ответов

Сборка мусора для вектора объекта в PyO3

У меня 2 пиккласса Block а также BlockGroup, #[pyclass] struct Block { start: i32, stop: i32, } #[pyclass] struct BlockGroup { blocks: Vec<Block> } Я новичок в PyO3, и я прочитал документацию по сборке мусора, но я не до конца его понимаю. Есл…
19 фев '19 в 19:08
0 ответов

Приведение PyObjectRef к PyString

У меня есть функция, которая принимает список Python. Я ожидаю, что список будет сделан из строк. Как мне их извлечь? Arch Linux, Python 3.7, ночная ржавчина 1.33.0, pyo3 0.5.2. fn f(list: &PyList) -> PyResult<SomeClass> { for obj in li…
27 дек '18 в 20:15
2 ответа

Написание функции pyo3, эквивалентной функции Python, которая возвращает свой входной объект

Я ищу написать Rust backend для моей библиотеки, и мне нужно реализовать эквивалент следующей функции в pyo3: def f(x): return x Это должно вернуть тот же объект, что и вход, и функция, получающая возвращаемое значение, должна содержать новую ссылку…
27 сен '18 в 13:41
0 ответов

Рекомендуемый способ тестирования расширений Python, написанных на языке X

У меня есть немного class A это часть расширения Python, которое я написал в Rust с использованием PyO3. class A импортируется и используется как есть, а также как подклассы в моем коде Python как часть большего пакета Python. Она не предназначена д…
13 фев '19 в 03:45
0 ответов

Выставить функцию с ржавчины на python через pyo3: как добавить автономную функцию в модуль python

Так что у меня есть эта функция в файле ржавчины, автономно. и моя функция, которая регистрирует все функции и классы в модуле python, находится в другом файле. Я также хотел бы добавить эту функцию в модуль python. Как мне это сделать? так в filea.…
01 авг '19 в 16:55
1 ответ

Как реализовать черту FromPyObject для моей структуры ржавчины

Рассмотрим простой класс ржавчины, доступный через pyo3 для python use pyo3::prelude::*; #[pyclass(name=MyClass)] pub struct PyMyClass { // Some fields } #[pymethods] impl PyMyStruct { #[new] fn py_new(obj: PyRawObject) { obj.init({ PyMyStruct { // …
21 июл '19 в 12:53
0 ответов

Проблема с расширением _ctypes при загрузке Numpy из Rust с PyO3

Я пытаюсь использовать NumPy из Rust, используя pyO3, все в среде conda. Чтобы связать pyO3, я установил набор инструментов GCC, используя также conda. Теперь я могу делать простые вещи, такие как отображение sys.path, Тем не менее, когда я пытаюсь …
07 авг '19 в 14:34
0 ответов

Как вызвать функцию ржавчины из файла Python, используя pyo3?

Я работаю над видео-игрой, в которой мне нужно установить объекты ржавчины (например, добавить кнопку с текстурой: "" координирование: "" текст: "" действие:"") из файлов Python. Я использую ящик pyo3, чтобы связать Python и ржавчину. Мне удалось вы…
28 июн '19 в 12:02
0 ответов

Как мне выставить черту, которая была реализована для str от Rust до Python?

У меня в руке есть три вещи: оригинальные ящики от ржавчины (назовем это ржавчиной), ящики для ржавчины, которые делают экспозицию (назовем это воздействием ржавчины), и модуль расширения Python, который должен быть построен из-за воздействия ржавчи…
30 июл '19 в 13:46
0 ответов

Ошибка при возврате вектора объектов документа с использованием pyo3

Возврат вектора объектов документа из ржавчины в питон не выполняется. У меня есть реализация структуры и метода в ржавчине следующим образом. use mongodb::{ bson::{Bson, Document}, error::Error, sync::Client, }; use pyo3::prelude::*; #[pyclass] pub…
17 июл '20 в 17:37
0 ответов

Как определить, является ли функция генератором с pyo3

Есть ли pyo3 эквивалентно isgeneratorfunction чтобы определить, является ли функция генератором?
03 авг '20 в 00:38
1 ответ

Как мне демаршалировать PyCodeObject с помощью PyO3?

Я читаю файлы.pyc, и мне нужно демаршалировать объекты кода. Когда я пытаюсь подавить немаршалированныхPyAny к PyCodeObject, Я получаю следующее сообщение об ошибке: error[E0277]: the trait bound `pyo3::ffi::code::PyCodeObject: pyo3::type_object::Py…
22 мар '20 в 20:42
1 ответ

Передача объекта Python в Rust

Я пытаюсь передать объект Python в ржавчину и выполнить операции, используя поля объекта Python. Python: class myclass(object): def __init__(self): self.a = 3 b = myclass() print(b.a) // 3 Ржавчина: #[pyfn(m, "rust_obj")] fn rust_obj_py(py: Python, …
22 фев '20 в 20:35
1 ответ

Пример PyContextProtocol для pyo3?

В __enter__ Я хочу вернуть объект, который доступен в Rust и Python, чтобы Rust мог обновлять значения в объекте, а Python мог читать обновленные значения. Хотелось бы иметь примерно такое: #![feature(specialization)] use std::thread; use pyo3::prel…
02 янв '20 в 22:47
2 ответа

Как я могу реализовать операторы Python в PyO3

Я пытаюсь реализовать векторный класс в ржавчине для моей математической библиотеки. #[pyclass] struct Vec2d { #[pyo3(get, set)] x: f64, #[pyo3(get, set)] y: f64 } Но я не могу понять, как я могу перегрузить стандартные операторы (+, -, *, /) Я безу…
06 дек '19 в 12:05
0 ответов

Как осуществляется управление памятью с помощью & str и String, собственных типов и PyResult <T> при передаче значений из Rust в Python?

Используя PyO3, я могу передать &str а также String типы от Rust до Python: #[pyfunction] fn test_str(py: Python) -> &str { "this is a &str" } #[pyfunction] fn test_string(py: Python) -> String { "this is a String".to_string() } И …
03 мар '20 в 20:45
0 ответов

Привязки Rust Pyo3: как повторно использовать методы python для общих типов rust

У меня проблема немного посложнее. Но я думаю, что это ломает его. У меня есть общая структура, в которой есть три конструктора для получения конкретной типизированной структуры. Все они имеют одни и те же общие методы, за исключением конструкторов.…
12 мар '20 в 11:24