在 libreoffice 中安装的 python 中管理和导入库

Posted

技术标签:

【中文标题】在 libreoffice 中安装的 python 中管理和导入库【英文标题】:Manage and import libraries in python installed in libreoffice 【发布时间】:2021-06-05 17:59:19 【问题描述】:

如果这个问题已经得到解答,我很抱歉,但这是一个很少讨论的话题。 我正在尝试在 libreoffice 中运行宏。如图所示,宏已经用python编写了。

 import uno, os.path, sys
 import pandas
 def Bring_from_doc():
     doc = XSCRIPTCONTEXT.getDocument()
     siz=doc.Sheets

uno、os 和 sys 可以毫无问题地导入,因为它们安装在 libreoffice python 安装文件夹中。

但是 pandas 没有安装,运行脚本时出现这个错误:

这是 libreoffice python 库所在的目录,包括 uno、os 和 sys。但是熊猫和其他通缉犯不是。

我的问题是:如何安装 pandas 和任何其他必需的库,以供 libreoffice 在宏中运行的任何 python 脚本使用?

谢谢!!

【问题讨论】:

【参考方案1】:

在 Linux 上,这很容易。只需在系统 python 中安装该库,它就可以在 LibreOffice 宏中运行。验证你的系统上是python 2还是python 3;例如在 Ubuntu 上,通常我输入 python3 作为可执行文件名称。

在 Windows 上,这几乎是不可能的,我不会推荐它(并且在 *** 上反复声明过,因为它经常被问到这里)。必须正确设置许多环境变量,并且需要其他技巧。如果您是专家,那么可以做到,但是既然您在这里问,我的猜测是您不具备使此过程顺利进行所需的技能!

即使您确实可以使用它,其他人也无法使用您的宏,如果您使用另一台计算机,则需要重新执行此操作。所以在大多数情况下,即使是专家,我也不推荐它。

替代方案:

在虚拟机中运行 Linux。 在系统的其他地方安装正常的python 发行版,并编写导入pandas 的正常python 脚本,例如将结果保存到xml 文件中。该脚本完成后,运行读取结果文件但不导入 pandas 的 LibreOffice 宏。 完全避免使用专门的库。这是我通常做的事情,因为标准的 Python 库允许您做很多事情,可能不那么容易,但您可以导入一些额外的代码或编写变通方法来做需要的事情。

【讨论】:

我不同意 Windows 上的“几乎不可能”。我承认这并不简单。这当然很乏味。但是,一旦设置好 LibreOffice,您就可以从 LibreOffice 运行一些甜蜜的宏。 This answer 解释了在 Python 的 LibreOffice 版本中安装模块的过程。我使用的模块通常不需要太多的环境变量,所以我还没有遇到这个问题。 “我使用的模块” - 这是一个很好的观点。前段时间我尝试使用无法使用 pip 安装的模块,因此在这种情况下,您相对简单的答案将不起作用。但是 OP 询问了 pandas 的不同之处。所以这取决于问题中包含的“任何其他必需的库”。

以上是关于在 libreoffice 中安装的 python 中管理和导入库的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Homebrew中安装的python3版本而不是库中安装的版本?

LibreOffice SDK:如何在 mac 中安装和配置 LibreOffice SDK

如何冻结仅在虚拟环境中安装的软件包?

通过site-packages中安装的版本导入模块的开发版本

在 Windows 中安装的 MonoDevelop 中看不到 iPhone

linux查看python安装路径,版本号