Windows 上的 LibreOffice 附带了自己的 Python 版本。如何安装 LibreOffice-Python 的新软件包。
我自己使用 Linux,并且我编写了一个工作宏,我希望 Windows 用户也可以使用它,但它使用标准 LibreOffice 中不可用的包。
我们尝试通过 pip 进行更新,但正如预期的那样,它只更新系统的 python。我们知道 zazpip 存在,但显然它不适用于测试仪。因此,我明确寻找其他解决方案。
使用 pip 快速安装 python 包很可能只会使其在您的操作系统下的 python 中可用,而不是在 LibreOffice 中可用。 python 文档安装 python 包描述了 pip 的用法,并带有关于使用由另一个包管理器(即 LibreOffice)管理的 python 的警告。
Windows下的python是一个精简的嵌入式python版本(而大多数linux发行版都使用他们的系统python),没有pip或get-pip.py,并且路径中没有支持的python目录。 LibreOffice 也以管理员权限安装在 Windows 上。
安装如下:
cd C:\Program Files\LibreOffice\program
)python get-pip.py
这将为 LibreOffice 版本的 python 安装或升级 pip,而不影响操作系统版本。此外,如果尚未安装,它将安装 setuptools 和wheel。
安装位置取决于python安装上下文。例如,对于 python v3.8.10,将显示警告,提示脚本安装在“C:\Program Files\LibreOffice\program\python-core-3.8.10\Scripts”(对于管理员安装)或“C:\”用户\用户\AppData\漫游\Python\Python38\Scripts'。
用pip安装的文件和执行比看起来更复杂。使用正确的 pip 对应正确的 python 版本的最简单方法是使用
python -m
从 python 安装目录运行它。这个例子是一个详细的包列表:
C:\Program Files\LibreOffice\program>python -m pip list -v
Package Version Location Installer
---------- ------- ------------------------------------------------------------------------- ---------
pip 22.0.3 c:\program files\libreoffice\program\python-core-3.8.10\lib\site-packages pip
setuptools 60.9.3 c:\program files\libreoffice\program\python-core-3.8.10\lib\site-packages pip
wheel 0.37.1 c:\program files\libreoffice\program\python-core-3.8.10\lib\site-packages pip
要安装
my-package
,请更改到 LibreOffice 安装目录并运行:
C:\Program Files\LibreOffice\program>
python -m pip install my-package
如果它附带特定版本的Python,则可能需要引用该版本的特定函数。我能给你的最好答案是:如果源代码中包含 Python,请尝试使用您自己的 Python 版本分叉源代码,然后进行编译。
或者,
如果包含特定的 Python 包管理器,请尝试使用它来更新 Python。
有关其他人尝试过的内容的讨论位于 https://ask.libreoffice.org/t/install-python-package-for-libre-office/66934/16。我怀疑您会找到比那里描述的更好的答案。尝试各种方法,看看哪种方法适合您的情况。
我确实让它工作过一次,但这并不容易——在我的情况下需要设置一些环境变量。
有没有办法编写宏,使其不依赖于单独的包?这就是我最终所做的。如果需要,您可以自己实现该包的一部分。最后,它并没有那么糟糕,它适用于所有操作系统。
我与 Zaz-Pip 的作者合作,解决了为 LibreOffice 跨平台安装 python 包的大部分问题。
这个新版本修复了 Linux Flatpak 和 AppImge 的问题。在 Mac OS 上,现在可以安装
numpy
等 pip 软件包并运行。以前在 Mac OS 上安装带有二进制 *.so
文件的 python 包在导入时会失败。
可以在此处找到扩展程序。
如果您需要编写自己的需要 pip 安装任何内容的扩展,我还编写了 Python LibreOffice Pip 扩展模板。这个模板使这一切变得非常简单。