Pyo3でPythonのモジュールを階層化し読みやすくしたいと思います。
確認したところ このような使い方 をDocに見られました。
そこで参考にしコードを書きましたがエラーによりコンパイルできません。
failed to resolve: maybe a missing 'extern crate PyObject;'?
rust
1use pyo3::{wrap_pyfunction, wrap_pymodule}; 2 3#[pyfunction] 4fn subfunction() -> String { 5 "Subfunction".to_string() 6} 7 8#[pymodule] 9fn submodule(_py: Python, module: &PyModule) -> PyResult<()> { 10 module.add_wrapped(wrap_pyfunction!(subfunction))?; 11 Ok(()) 12} 13 14#[pyfunction] 15fn superfunction() -> String { 16 "Superfunction".to_string() 17} 18 19#[pymodule] 20fn supermodule(_py: Python, module: &PyModule) -> PyResult<()> { 21 module.add_wrapped(wrap_pyfunction!(superfunction))?; 22 module.add_wrapped(wrap_pymodule!(submodule))?; 23 Ok(()) 24} 25 26#[pymodule] 27fn myextension(_py: Python, m: &PyModule) -> PyResult<()> { 28 m.add_wrapped(wrap_pymodule!(supermodule))?; 29 Ok(()) 30} 31 32// myextension.supermodule.superfunction 33// myextension.supermodule.submodule.subfunction
これは階層化を試みる一例です、何か他に良いやり方があれば教えて欲しいです。
回答の方を宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。