无法在 python 中为 ubuntu 16.04 上的 libreoffice 导入 uno

Posted

技术标签:

【中文标题】无法在 python 中为 ubuntu 16.04 上的 libreoffice 导入 uno【英文标题】:can't import uno in python for libreoffice on ubuntu 16.04 【发布时间】:2020-09-19 09:32:00 【问题描述】:

我在 ubuntu 16.04 上使用 LO 7.0.1.2python 3.7.6。 已安装 APSO,并且在 LO 中执行 python 脚本可以使用内部解释器。

但是,在我使用 python 3.7 的系统中,我得到:

模块未找到行:导入 uno

libre-office-skript-provider 已安装 我也试过了

export set LD_LIBRARY_PATH=/usr/lib/libreoffice/program

推荐人 http://www.openoffice.org/udk/python/python-bridge.html

有没有人有提示或技巧,如何让它运行?

【问题讨论】:

您是否在终端中输入了python3,后跟import uno?通常这应该工作。由于 APSO 正在工作,因此您肯定做错了什么。也许你可以检查 APSO 看看有什么不同。也可以试试:christopher5106.github.io/office/2015/12/06/… 非常感谢您的回复 Jim,我在 APSO import uno 中进行了测试,它可以正常工作。但是在我的终端中,我检查了 mrvol 建议的最新版本的增益(见下文),但我仍然得到“没有名为 uno 的模块”。可能在花了几天时间之后,我计划用一个全新的设置来测试 ubuntu 20.01。但是,这并不令人满意,因为 16.04 对我来说很好,我不确定 20.04 是否能解决我的错误。 我没试过 Anaconda。这可能与它为什么不起作用有关,在我看来,您应该在问题的标题或标签中提到它。 APSO 是否使用 Anaconda python? 感谢您的提示。显然是 aspo 使用不同的控制台。这是输出: APSO python 控制台 [LibreOffice] 3.6.9(默认,2020 年 4 月 18 日,01:56:04)[GCC 8.4.0] 键入“帮助”、“版权”、“信用”或“许可证”以获取更多信息。 【参考方案1】:

我怎样才能让 APSO 在我的系统上使用我的通用 pythen 和我的所有安装?基本上这是目标。为 Libreoffice Base 中的子例程启用 Numpy 和 pandas?或者其他方式,带上我的通用python3访问Libreoffice?

通常对我有用的是使用普通 python(不是 Anaconda)全新安装 Ubuntu。然后 python3 后跟 import uno 在终端中。有时需要libreoffice-script-provider-python,或者其他Linux 风格的类似包。

此时,应该可以使用 pip 添加 pandas 和 numpy。 Anaconda 可能也可以工作,但它可能需要不同的步骤,而且我还没有尝试过,所以我无法给出关于它们可能是什么的想法。

【讨论】:

谢谢,是的,我认为这是要走的路。我刚刚安装了 20.04 并正在处理它。我会发布我的结果。非常感谢您的支持。【参考方案2】:

你试过跑步吗?

pip install unotools

sudo aptitude install -y libreoffice libreoffice-script-provider-python uno-libs3 python3-uno python3

【讨论】:

非常感谢您的回答,是的,我安装了所有东西。在下面我发布了我的控制台的答案。 (base) cmoog@E6520:~$ pip install unotoolsRequirement已经满足:./anaconda3/lib/python3.7/site-packages (0.3.3)中的unotools (base) cmoog@E6520:~$ sudo apt install -y libreoffice libreoffice-script-provider-python uno-libs3 python3-uno python3 [sudo] Passwort für cmoog: Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut。 Statusinformationen werden eingelesen.... Fertig python3 ist schon die neueste Version (3.5.1-3)。 python3-uno ist schon die neueste 版本 (1:5.1.6~rc2-0ubuntu1~xenial10)。 uno-libs3 ist schon die neueste 版本 (5.1.6~rc2-0ubuntu1~xenial10)。 libreoffice ist schon die neueste 版本 (1:5.1.6~rc2-0ubuntu1~xenial10)。 libreoffice ist schon die neueste 版本 (1:5.1.6~rc2-0ubuntu1~xenial10)。 libreoffice-script-provider-python ist schon die neueste 版本 (1:5.1.6~rc2-0ubuntu1~xenial10)。 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. (base) cmoog@E6520:~$ python3 Python 3.7.6(默认,2020 年 1 月 8 日,19:59:22)[GCC 7.3.0] :: Anaconda, Inc. on linux 类型“帮助”、“版权”、“学分”或“许可”以获取更多信息。 >>> import uno Traceback(最近一次调用最后一次):文件“”,第 1 行,在 ModuleNotFoundError: No module named 'uno'

以上是关于无法在 python 中为 ubuntu 16.04 上的 libreoffice 导入 uno的主要内容,如果未能解决你的问题,请参考以下文章

在 WSL (Ubuntu) 中为 python3 安装 venv

如何在 ubuntu 中为 python 安装 facebook-sdk?

如何在 Ubuntu 20.04 中为 Python2.7 安装 pip

安装ubuntu-server16.0,设置WiFi

如何在Ubuntu16.04中为python3.5安装pygame?

Windows 10+Ubuntu 16.0在MBR分区上安装双系统之后没有Windows 10的启动菜单解决方法