gpt4 book ai didi

python - 将 pyuno 与我现有的 python 安装一起使用

转载 作者:行者123 更新时间:2023-11-28 17:53:54 28 4
gpt4 key购买 nike

我正在尝试使用 PyUNO 作为一种方法,将不同的文档格式(doc、wordperfect、html 等)从我的 Django 服务器中转换为 PDF。我正忙于让 import uno 工作。它似乎在执行 import pyuno 时失败,消息为 ImportError: DLL Load Failed: The specified module could not be found

我唯一能让它工作的方法是使用 OpenOffice 附带的 Python 2.6,但我真的想使用我的其他 2.6 安装。 PyUNO 的文档都是针对 Python 2.2 的,据说已经过时了。

我猜测需要将以下部分(或全部)文件从 OpenOffice 目录复制到我的站点包目录(或其子目录):

pythonloader.py
pythonloader.uno.ull
pythonloader.uno.ini
pythonscript.py
pyuno.pyd

有没有人成功让这个工作?

这是在 Windows 上。

最佳答案

对于简单的转换,您无需重新发明轮子。看看unoconv:http://dag.wieers.com/home-made/unoconv/

如果 python 解释器与 OpenOffice 捆绑在一起,或者在打包程序已经为您完成大量工作的某些 Linux 系统中,“导入 uno”将自动工作。

备选方案 1:对于 Win32 系统上的其他 Python 安装,您需要导入三个环境变量并将一项添加到您的 Pythonpath。详细教程在http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36370&p=166783

您必须从 OO-installed-Python 获取并添加到其他 Python 安装的三个环境变量是:(使用 Python 2.6 和 OO 3.1.2)

  • os.environ['URE_BOOTSTRAP'] = 'vnd.sun.star.pathname:c:\Program Files\OpenOffice.org 3\program\fundamental.ini'
  • os.environ['UNO_PATH'] = 'c:\Program Files\OpenOffice.org 3\program\'
  • os.environ['PATH'].append('c:\Program Files\OpenOffice.org 3\URE\bin;c:\Program Files\OpenOffice.org 3\Basis\program;')

您必须添加到其他 Python 安装的 pythonpath 项是 uno 模块的位置:

  • sys.path.append('C:\Program Files\OpenOffice.org 3\Basis\program')

现在您可以简单地“导入 uno”。

Pyuno 仅与类似版本的 Python 兼容。由于 OO 3.1 捆绑了 Python 2.6.1,因此 pyuno 仅与另一个 Python 2.6 兼容。尝试将 uno 导入不同版本的 Python 将导致运行时错误。但是在备选方案 2 中有一种解决方法。

方案2:对于在WIN32系统上安装的其他Python,可以完全忽略Python-UNO桥,改用Python-COM桥。您必须安装一个新模块,并且 API 有一些差异,但您可以使用任何版本的 Python,包括 Python3。

关于python - 将 pyuno 与我现有的 python 安装一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4270962/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com