1

最近我一直在做一个涉及生成 docx 文件的项目。由于 Rust 的 docx 支持还很不成熟,我决定python-docx通过 PyO3 使用 Python 的模块。

到目前为止,这是我的代码:

extern crate pyo3;
use pyo3::prelude::*;

(...)

// Initialize some Python
let gil = Python::acquire_gil();
let py = gil.python();
let docx = PyModule::import(py, "docx")?;

let document = docx.Document();

不幸的是,我遇到了两个非常严重的错误。

错误 #1:

let docx = PyModule::import(py, "docx")?;
                                   ^ cannot use the `?` operator in a function that returns `std::string::String

错误 #2:

let document = docx.Document();
                    ^^^^^^^^ method not found in `&pyo3::prelude::PyModule`

如何解决这些错误?

注意:是的,我已确定python-docx已安装。它位于/home/<my username>/.local/lib/python3.8/site-packages

4

0 回答 0