首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我现有的python安装中使用pyuno

在我现有的python安装中使用pyuno
EN

Stack Overflow用户
提问于 2010-11-25 03:59:37
回答 3查看 5.7K关注 0票数 3

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

我能让它工作的唯一方法是使用OpenOffice附带的Python2.6,但我真的想使用我的另一个2.6安装。PyUNO的文档都是针对Python2.2的,并且被认为是过时的。

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

代码语言:javascript
复制
pythonloader.py
pythonloader.uno.ull
pythonloader.uno.ini
pythonscript.py
pyuno.pyd

有没有人成功地实现了这一点?

这是在Windows上。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-09 08:10:05

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

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

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

您必须从OO-installed-Python获得的三个环境变量是:(使用Python 2.6和OO 3.1.2)

  • os.environ'URE_BOOTSTRAP‘=’
  • os.environ'PATH'.append('c:\Program 3\Basis\program;')

3\vnd.sun.star.pathname:c:\Program Files\OpenOffice.org Files\OpenOffice.org = 'c:\Program Files\OpenOffice.org 3\u URE\bin;c:\Program Files\OpenOffice.org bin

必须添加到其他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将导致运行时错误。但在Alternative 2中有一种方法可以绕过这一点。

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

  • Install pywin32module to get COM access:http://sourceforge.net/projects/pywin32/
  • differences on
    • differences:http://user.services.openoffice.org/en/forum/viewtopic.php?f=45&t=36608&p=168179

    (安装应用程序接口以获得COM访问权限:http://sourceforge.net/projects/pywin32/

  • 关于应用编程接口差异的讨论)
票数 2
EN

Stack Overflow用户

发布于 2010-11-28 23:14:07

我也需要一个答案。我使用的是windows XP,我有一个从SQL server DB中提取数据并将其插入到模板excel文件中的系统。我不想将宏的etc添加到OpenOffice。但我想使用该服务来生成这些文件。

然而,我能够导入uno modude的唯一方法似乎是使用openoffice目录中的python.exe。即使这样,由于某些原因,我也不能将这个exec与我系统中的py文件关联起来,因此每次我都必须输入完整的路径名。

我知道在Linux中,Pyuno模块是一个插件,可以在普通的python中使用,但在windows中似乎并非如此。我已经在openoffice下列出了python exec的所有相关路径细节,并将它们复制到python2.7中,但pyuno仍然失败,无法找到DDL,并且没有引用什么DDL。

票数 0
EN

Stack Overflow用户

发布于 2010-12-03 09:30:33

我认为答案是“这是不可能的”。从网上的其他阅读来看,用于编译/链接python.org中的python可执行文件的stdlib似乎与用于编译/链接随OpenOffice.org分发的python.exe的stdlib不同。我不知道为什么,我仍然对两条蟒蛇给我相同的启动信息感到困惑。所以我可能在这里完全走错了路。

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

https://stackoverflow.com/questions/4270962

复制
相关文章

相似问题

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