使用 python uno 的 libreoffice 管道,计算机之间的连接不一致,有什么区别?
libreoffice pipe using python uno, inconsistant connection among computers, What makes difference?
我目前正在几台计算机上检查我的 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: Connector : couldn't connect to pipe OOo_pipe(10)
已安装的版本为 libreoffice 7.0.4.2、python 3.9.2、
/usr/share/applications/libreoffice-writer.desktop 已检查,相同。当被调用时,/usr/lib/libreoffice/program/soffice.bin 在所有计算机中运行。 (同样唤起脚本也是一样的)
这些计算机的安装包不一样。
什么会导致这种不一致?
我发现工具 -> 选项... -> LibreOffice > 高级 > 打开专家配置 > org.openoffice.SetUp > Office > ooSetupConnectionURL 下的选项字符串不同。
对于工作组件,它是“pipe,name=OOo_pipe;urp;StarOffice.ServiceManager”并且是空的,没有工作的。
Documentation看起来有点松垮。
我目前正在几台计算机上检查我的 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: Connector : couldn't connect to pipe OOo_pipe(10)
已安装的版本为 libreoffice 7.0.4.2、python 3.9.2、 /usr/share/applications/libreoffice-writer.desktop 已检查,相同。当被调用时,/usr/lib/libreoffice/program/soffice.bin 在所有计算机中运行。 (同样唤起脚本也是一样的)
这些计算机的安装包不一样。
什么会导致这种不一致?
我发现工具 -> 选项... -> LibreOffice > 高级 > 打开专家配置 > org.openoffice.SetUp > Office > ooSetupConnectionURL 下的选项字符串不同。 对于工作组件,它是“pipe,name=OOo_pipe;urp;StarOffice.ServiceManager”并且是空的,没有工作的。 Documentation看起来有点松垮。