問題タブ [pyo3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
135 参照

python - PyO3 で Rust から Numpy をロードするときの _ctypes 拡張子の問題

すべてconda環境内で、pyO3を使用してRustからnumpyを使用しようとしています。pyO3 をリンクするために、conda を使用して GCC ツールチェーンもインストールしました。

を表示するなどの簡単なことを実行できるようになりsys.pathました。ただし、numpy をインポートしようとすると、次のようになります。

次のことが起こります。

興味深いことに、単にタイプpython -c "import numpy"すると、問題は発生しません。

RUSTFLAGS="-C linker=$CC" cargo +nightly runそれが役立つ場合は、コードをビルドして実行するために使用します。

0 投票する
1 に答える
860 参照

rust - PY03 を使用して Python オブジェクトを返す Rust 関数を実装する方法

Python から、Python オブジェクトを返す Rust 関数を呼び出したいと思います。

クラスのインスタンス化に関する PYO3 ガイドでは、このようなオブジェクトを としてインスタンス化する方法が説明されているため、この関数を作成する方法はわかりPyRefませんが、 からそのような参照を返す方法がわかりませんpyfunction

これは私がしようとしているものです:

ただし、PyRef有効な戻り値の型ではないようです (コンパイラーは「型引数の数が間違っています: 期待される 1、見つかった 0」)、および aPyRefを a などの返される可能性のあるものに変換する方法がわかりませんPyObject

0 投票する
1 に答える
382 参照

python - Python オブジェクトを Rust に渡す

Python オブジェクトを錆に渡して、Python オブジェクトのフィールドを使用して操作を実行しようとしています。

パイソン:

さび:

Python から呼び出した場合の期待される結果は次のようになります。

代わりに、コンパイル時に Rust エラーが発生します。

オブジェクトのフィールドとメソッドを錆でリストし、フィールドを操作する方法はありますか?

0 投票する
0 に答える
75 参照

rust - &str と String、ネイティブ型と PyResult でメモリを管理する方法Rust から Python に値を渡すときは?

PyO3 を使用して、Rust から Python&strに型を渡すことができます。String

そしてPythonはこれらをうまく呼び出すことができます:

PyResult<&str>これらをPyResult<String>同じ動作でラップすることもできます。

ここでメモリが適切に処理されるようにするには、何を知る必要があり、他の手順を実行する必要がありますか? String同じ文字列への参照を維持しようとしていない場合、必要に応じてそれらを解放できるように、s について GIL に伝える必要がありますか?

さらに行う必要がある場合、 Rust を作成するときなど、他のメソッドでも同じことを行う必要がありますstructか?