编译maturin包的正确方法如下:
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ python3 -m venv myenv
$ source myenv/bin/activate
$ pip install maturin
$ maturin init --bindings pyo3
src/lib.rs
文件中:use pyo3::prelude::*;
use pyo3::types::IntoPyDict;
#[pymodule]
fn my_module(_py: Python, m: &PyModule) -> PyResult<()> {
m.add_function(wrap_pyfunction!(my_function, m)?)?;
Ok(())
}
#[pyfunction]
fn my_function() -> PyResult {
Ok("Hello from Rust!".to_string())
}
#[pymodule]
fn my_module(_py: Python, m: &PyModule) -> PyResult<()> {
m.add_function(wrap_pyfunction!(my_function, m)?)?;
Ok(())
}
#[pymodule]
fn my_module(_py: Python, m: &PyModule) -> PyResult<()> {
m.add_function(wrap_pyfunction!(my_function, m)?)?;
Ok(())
}
#[pymodule]
fn my_module(_py: Python, m: &PyModule) -> PyResult<()> {
m.add_function(wrap_pyfunction!(my_function, m)?)?;
Ok(())
}
$ maturin develop
import my_module
print(my_module.my_function()) # 输出:Hello from Rust!
通过以上步骤,你可以成功编译并使用maturin包。请注意,这里只提供了基本的示例代码,实际项目中的代码可能更加复杂。