ImportError: dynamic module does not define init function (initlibpyuno)

ImportError: dynamic module does not define init function (initlibpyuno)

我已经用 Python 安装了 Eclipse IDE,我正在尝试设置一个环境来编写一些 python 脚本来自动化 Libre Office,我只用了一个脚本现在的一行代码 ("import libpyuno"),当我 运行 这行代码时,我得到一个错误:

ImportError: dynamic module does not define init function (initlibpyuno)

我添加了 "usr/lib/libreoffice/program" 作为外部库路径。

谁能告诉我为什么会出现此错误?

支持的使用 pyuno 的方式是调用与 LibreOffice 本身捆绑在一起的 python 解释器。如果您想使用现有的解释器,那么您需要确保手动执行与您的案例中 LibreOffice 安装集 (/usr/lib/libreoffice) 中的 python shell 脚本相同的设置.这不仅涉及设置 PYTHONPATH,而且至少还涉及指定 URE_BOOTSTRAP(两者都是环境变量。)

现在回答您的实际问题:您可能不想导入 libpyuno。如果您想导入一个特定于 LibreOffice 的 Python 模块进行测试,那么只需导入 uno.

请参阅 https://cgit.freedesktop.org/libreoffice/core/tree/scripting/examples/python/NamedRanges.py 了解真实世界的 pyuno 脚本,您甚至可以看到它只需要 uno 模块。