一般来说,OpenOffice 中捆绑的“python”可执行文件在哪里?

一般来说,OpenOffice 中捆绑的“python”可执行文件在哪里?

正如所描述的在 Apache OpenOffice wiki 中,OpenOffice 应该与其自己的 Python 版本捆绑在一起,在 Windows 上默认位于C:\Program Files\OpenOffice.org <version>\program\python.exe

这个 Python 可执行文件在其他平台上位于哪里?这个位置(如果有的话)在哪里正式记录?

答案1

这个地点在哪里(如果有的话)有正式记录?

据我所知,没有任何地方。您是否试图在特定位置进行系统调用?这听起来很危险,因为它可能与您预期的位置略有不同。也许如果您提供有关目标的更多详细信息,那么就会有其他方法来实现它,例如环境变量。

在 Windows 上的位置是(AOO or LO Program Files directory)\program\python.exe

Linux 具有系统范围的 Python 版本,因此 AOO 和 LO 不附带自己的版本。然而,在这些系统上,可能需要额外的软件包,例如libreoffice-script-provider-python

根据https://ask.libreoffice.org/t/where-is-the-python-executable-embedded-in-libreoffice-on-macos/50042/7,一位用户在 Mac 上找到了它:

/Applications/LibreOffice.app/Contents/Resources/python

编辑

LO 和 AOO 可以安装在系统上的不同位置,并且可以同时安装,因此您需要指定使用哪个位置。

要在 Windows 上运行 LibreOffice 的 Python,我使用以下批处理脚本。它从我的扩展中添加了库所在的路径,而您的情况可能不需要这些路径。

c:
@rem chdir "%ProgramFiles(x86)%\OpenOffice 4\program\"
@rem chdir "%ProgramFiles(x86)%\LibreOffice 5\program\"
chdir "%ProgramFiles%\LibreOffice\program\"

set ADD_ON=C:\MyExtensionPath
@rem "." is the current directory and is needed to import uno for AOO.
set PYTHONPATH=%ADD_ON%\pythonpath;%ADD_ON%\tests\pythonpath;.

python.exe %1

我还使用 Ubuntu 的 shell 脚本。由于它使用系统范围的 python,因此它要短得多。

export PYTHONPATH=.:../pythonpath:./pythonpath
python3 $1

无论哪种情况,如果 python 脚本计划连接到 LibreOffice(这通常是使用 UNO 运行脚本的原因),那么需要启动 LibreOffice 来监听套接字。

start soffice -accept=socket,host=localhost,port=2002;urp; %1

现在,如果您在 LibreOffice 内部而不是外部运行 python 脚本,那么这些都不是必需的,因为 LibreOffice 已经知道它自己的 python 版本。

相关内容