みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

RustのPyO3がstableで動くようになっていた

pyo3 0.12.3 - Docs.rs

今まではRustのnightlyでなければ動きませんでしたが,2020年6月のリリースでstableでも動くようになったようです.

Release PyO3 0.11.0 · PyO3/pyo3 · GitHub

PythonとRustがより使いやすくなって嬉しいです.

しかしながら,少しだけコードを修正する必要があります.マイグレーションの方法が以下に記載されています.

Appendix A: Migration Guide - PyO3 user guide

PyErrの修正

use pyo3::exceptions;

return Err(exceptions::ValueError::py_err(
    "[Rust] add_words(): invalid flag.",
));

は,

use pyo3::exceptions::PyValueError;

return Err(PyValueError::new_err("[Rust] add_words(): invalid flag."));

に変更します.

他にもいくつか修正するべき項目があるみたいですが,みーのプロジェクトはこの変更のみでstableで動作するようになりました.