pipe - 使用python uno的libreoffice管道,计算机之间的连接不一致,有什么区别?
问题描述
我目前正在多台计算机上检查我的 python 项目文件(所有 Debian 测试)。我遇到了不一致的结果并且没有解决问题的想法。该项目使用 python-uno 管道与 libreoffice 进行通信,如下所示:
localContext = uno.getComponentContext()
resolver = localContext.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver",localContext)
cnxt = resolver.resolve('uno:pipe,name=OOo_pipe;urp;StarOffice.ComponentContext')
问题是此代码在一台计算机上工作,但在其他两台计算机上阻塞。错误信息如下:
main .NoConnectException:连接器:无法连接到管道 OOo_pipe(10)
已安装的版本是 libreoffice 7.0.4.2、python 3.9.2、/usr/share/applications/libreoffice-writer.desktop 已检查,并且相同。当被唤起时,/usr/lib/libreoffice/program/soffice.bin 在所有计算机上运行。(也唤起脚本是相同的)
这些计算机中安装的软件包不同。
什么可能导致这种不一致?
解决方案
我发现 Tools -> Options... -> LibreOffice > Advanced > Open Expert Configuration > org.openoffice.SetUp > Office > ooSetupConnectionURL 下的选项字符串不同。对于工作组合,它是“pipe,name=OOo_pipe;urp;StarOffice.ServiceManager”,并且是空的,没有工作。 文档看起来有些松懈。
推荐阅读
- tomcat - 配置 Tomcat 以记录启动时加载的所有 Jar 文件和/或类
- android - 调试 Android 应用程序:安装 apk 给出“未安装应用程序”
- scala - 当类型是协变的时,为什么我们不能提供隐式类型类?
- html - 如何在选定的导航项下方对齐引导下拉菜单
- c# - VSTO 功能区:如何使文本“自定义工具栏”从功能区左侧消失?
- netcdf - Xarray - 连接来自多个文件的切片
- google-apps-script - 通常如何从 Google Apps 脚本访问 BigQuery
- angular - 运行没有实体的基本 JHipster monilithic 应用程序会返回一个空白页面
- perl - perl 提取字符串和科学数字
- python - 如何在python中提取包含嵌套字典的嵌套列表中的项目