首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取python以导入uno / pyuno

获取python以导入uno / pyuno
EN

Stack Overflow用户
提问于 2014-07-26 06:25:29
回答 1查看 6.4K关注 0票数 4

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

我基本上是在尝试在python中达到hello-world状态,这样我就可以开始通过编程从数据库数据创建文档页面。

我尝试安装libreoffice和openoffice。我将文件安装在默认位置(我安装了Windows7 (C:\Program Files (X86)\LibreOffice4),安装了ubuntu14,并尝试了默认路径(/usr/lib/libreoffice) )。

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

我尝试了许多操作,试图更改python路径设置并安装不同版本的PYTHON。

有没有人对如何安装python来制作openoffice文档有什么建议?只是通过了'import uno‘语句而没有导入错误吗?我确信这是件愚蠢的事,但我完全不知所措。

提前谢谢。

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

代码语言:javascript
复制
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路径中并卸载。但是,现在我得到了一个不同的错误:

代码语言:javascript
复制
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.

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

代码语言:javascript
复制
C:\Libreoffice>find|grep pyuno*
./program/pyuno.pyd
./program/services/pyuno.rdb
./share/registry/pyuno.xcd

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

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

EN

回答 1

Stack Overflow用户

发布于 2015-03-11 19:31:48

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

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

在path安装的like packages文件夹中,添加一个OpenOffice.pth文件,其路径为安装的子文件夹程序,如下所示:

代码语言:javascript
复制
content of OpenOffice.path:
C:\Program Files (x86)\OpenOffice.org 4\basis\program

我没有在Python2.7的Win7上从脚本中设置这个值。这就是我使用.pth文件的原因。对于OpenOffice 3.x,路径是C:\Program Files (x86)\OpenOffice.org 3\basis\program。

代码语言:javascript
复制
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

在脚本中,将两个environ值设置为fundamental.ini和子文件夹\program。

在OpenOffice 3.x中,第二个环境必须如下所示

代码语言:javascript
复制
os.environ["PATH"] += r";C:\Program Files (x86)\OpenOffice.org 3\URE\bin"

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

代码语言:javascript
复制
os.environ.pop("URE_BOOTSTRAP")

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24965406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档