gpt4 book ai didi

python - 让 python 导入 uno/pyuno

转载 作者:太空宇宙 更新时间:2023-11-04 06:01:15 27 4
gpt4 key购买 nike

我整天都在寻找解决方案,但似乎找不到任何有用的东西,只有一堆看起来过时或不起作用的线索。

我主要是尝试在 python 中进入 hello-world 状态,以便我可以开始以编程方式从数据库数据创建文档页面。

我尝试同时安装 libreoffice 和 openoffice。我将文件安装在默认位置(我安装了 Windows 7 (C:\Program Files (x86)\LibreOffice 4) 并安装了 ubuntu 14 并尝试了默认路径 (/usr/lib/libreoffice))。

我在 sdk 文件夹中的 bat 脚本 () 遇到了问题,所以我什至尝试在 Windows 中没有空格的基本目录中重新安装 c:\libreoffice。

我尝试了很多操作来尝试更改 PYTHON PATH 设置并安装不同版本的 python。

有没有人对我如何设置 python 来制作 openoffice 文档有任何建议?只是在没有导入错误的情况下通过“import uno”语句?我确定这是愚蠢的事情,但我完全不知所措。

提前致谢。

编辑:我得到的错误是找不到标准模块错误,无论我是在本地版本中打开 python 实例还是在 libreoffice 文件夹中打开 python 实例,我都会收到错误:

C:\Libreoffice\program\python-core-3.3.3\bin>python
Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:18:40) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import uno
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'uno'

编辑 2:当我在程序文件夹中找到并找到 uno.py 时,我解决了“uno”问题。我将其添加到我的 python 路径并加载了 uno。但是,现在我得到了一个不同的错误:

Traceback (most recent call last):
File "C:\Users\Alex\workspace\OOTest\test\test.py", line 7, in <module>
import uno
File "C:\Libreoffice\program\uno.py", line 21, in <module>
import pyuno
ImportError: DLL load failed: The specified module could not be found.

我做了一个查找,发现了以下内容:

C:\Libreoffice>find|grep pyuno*
./program/pyuno.pyd
./program/services/pyuno.rdb
./share/registry/pyuno.xcd

我尝试将程序文件夹添加到我的 windows 路径(已经在 python 路径中),但仍然有同样的错误。

关于加载 pyuno 有什么建议吗?

最佳答案

为了从不同的 python 运行 uno,我发现我必须设置三个值。在 Win7 上,您可以将所有三个设置为用户帐户的用户定义环境值。注销并重新登录,以便他们开始工作。

经过一些尝试和错误后,我想出了以下解决方案。

在 python 安装的 lib\site-packages 文件夹中添加一个 OpenOffice.pth 文件,其中包含安装子文件夹程序的路径,例如:

content of OpenOffice.path:
C:\Program Files (x86)\OpenOffice.org 4\basis\program

我没有让它在 Win7 和 Python 2.7 上运行以从脚本中设置这个值。这就是我使用 .pth 文件的原因。对于 OpenOffice 3.x,路径应该是 C:\Program Files (x86)\OpenOffice.org 3\basis\program。

import os
os.environ["URE_BOOTSTRAP"] = r"vnd.sun.star.pathname:C:\Program Files (x86)\OpenOffice 4\program\fundamental.ini"
os.environ["PATH"] += r";C:\Program Files (x86)\OpenOffice 4\program"
import uno

在您的脚本中,为 fundamental.ini 和子文件夹\program 设置两个环境值。

对于 OpenOffice 3.x,第二个环境必须看起来像这样

os.environ["PATH"] += r";C:\Program Files (x86)\OpenOffice.org 3\URE\bin"

当然,您必须更改这些路径以适合您的安装。您可能希望在导入 uno 后立即删除 BOOTSTRAP,因为如果您在同一台机器上运行不同版本的 OpenOffice 或 LibreOffice,这会导致冲突。

os.environ.pop("URE_BOOTSTRAP")

重要!这仅在您的 python 与您的 OpenOffice 附带的 python 版本相同时才有效,即OpenOffice 3.x python 2.6OpenOffice 4.x python 2.7LibreOffice 4.x python 3.3

关于python - 让 python 导入 uno/pyuno,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24965406/

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