如何在Windows上更新Libre Office Python?

c7rzv4ha  于 2023-06-24  发布在  Windows
关注(0)|答案(3)|浏览(288)

Windows上的LibreOffice自带Python版本。如何安装LibreOffice-Python的新软件包。
我自己使用Linux,我写了一个工作宏,我希望它也能被Windows用户使用,但它使用的包在标准LibreOffice中是不可用的。
我们尝试通过pip进行更新,但正如预期的那样,它只更新了系统的python。我们知道zazpip的存在,但显然它没有工作的测试。因此,我正在寻找其他解决方案。

yacmzcpb

yacmzcpb1#

用pip快速安装一个python包很可能只是让它在你的操作系统下的python中可用,而不是LibreOffice。安装python包的python文档描述了pip的使用,并警告使用由另一个包管理器(即LibreOffice)管理的python。
Windows下的python是一个精简的嵌入式python版本(而大多数linux发行版使用他们的系统python),没有pip或get-pip.py,路径中没有支持python的目录。LibreOffice也安装在具有管理员权限的Windows上。
安装如下:
1.下载https://bootstrap.pypa.io/get-pip.py文件
1.启动命令提示符,最好是具有管理员权限
1.切换到LibreOffice安装目录(例如cd C:\Program Files\LibreOffice\program
1.运行python get-pip.py
1.关闭命令提示符
这将为LibreOffice版本的python安装或升级pip,而不会影响操作系统版本。此外,它将安装setuptools和wheel(如果尚未安装)。
安装位置取决于python安装上下文。例如,对于python v3.8.10,将显示一个警告,说明脚本安装在“C:\Program Files\LibreOffice\program\python-core-3.8.10\Scripts”中,用于管理员安装,或者“C:\Users\User\AppData\Roaming\Python\Python38\Scripts '”。
文件安装与pip和执行比它看起来更复杂。对于正确的python版本使用正确的pip最简单的方法是使用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

xv8emn3q

xv8emn3q2#

如果它附带了特定版本的Python,它可能需要引用该版本的特定函数。我能给予你的最好答案是:如果Python包含在源代码中,请尝试使用您自己的Python版本派生源代码,并编译它。
或者
如果包含了Python的特定包管理器,请尝试使用它来更新Python。

ubbxdtey

ubbxdtey3#

关于其他人尝试过的讨论请在https://ask.libreoffice.org/t/install-python-package-for-libre-office/66934/16上。我怀疑你找不到比上面描述的更好的答案。尝试不同的方法,看看什么适合你的情况。
我确实让它工作过一次,但这并不容易--在我的情况下需要设置一些环境变量。
有没有一种方法可以编写宏,使它不依赖于单独的包?这就是我最后做的。如果需要,您可以自己实现包的一部分。最后,它并没有那么糟糕,而且它适用于所有操作系统。

相关问题