我正在运行Windows 7,Python 3.6和LibreOffice 5.4.2.2(按此顺序安装)。
目标:在LibreOffice之外的Python 3.6上安装和使用pyuno(独立IDE,在他的案例中:PyCharm 2017.2.3 Community Edition)。我希望能够运行在Calc表上运行的脚本,就像我在使用Pandas的Excel上一样。
问题:尝试使用&#34执行脚本时;导入uno"在开始时,我得到了缺少元素的错误:
File "C:\Users\Adam\AppData\Local\Programs\Python\Python36-32\lib\site-packages\uno\__init__.py", line 4, in <module>
from base import Element, Css, Payload, UnoBaseFeature, UnoBaseField
ImportError: cannot import name 'Element'
我无法安装&#39;元素&#39;既不使用pip也不使用pip3.6。我通过pip3.6 install uno安装了pyuno。
我尝试使用python3-uno安装:
C:\Users\Adam\AppData\Local\Programs\Python\Python36-32\Scripts>pip3.6 install python3-uno
Collecting python3-uno
Could not find a version that satisfies the requirement python3-uno (from versions: )
No matching distribution found for python3-uno
同样的结果是pip3.6(和pip)安装python-uno。
我在猜测(或者更确切地说是在其他一些线程上阅读)和init__.py文件可能在我的Pycharm / python 3.6和Python 3.5之间发生冲突,它与Libre Office一起提供但我不知道如何处理它
如果你知道如何让这个东西工作或者在哪里获得缺失的元素,那么你的支持将不胜感激。
答案 0 :(得分:0)
我试图做类似的事情。
如果您使用pip下载uno,可能不是您正在寻找的东西。 (https://pypi.org/project/pyoo/请参阅&#39;先决条件&#39;)。
另外,我读过很多地方明确说过python的系统版本必须与LibreOffice或Openoffice python版本匹配。
我通过使用
简要地尝试修改了PYTHONPATH&#39;&#39;&#39; import sys
sys.append(&#39; LibreOffice 5文件夹下的pyuno路径&#39;)
导入pyuno &#39;&#39;&#39;
但它导致我的命令窗口冻结。我没有尝试重置URE_BOOTSTRAP,因此可能会有效。
否则,许多人说要使用不兼容的python版本在OpenOffice或LibreOffice上运行,你应该使用COM(组件对象模型)方法/工具,虽然我对此没有经验,但文档不是很好。我确实找到了这本书和演示文稿,但它涉及了许多我尚未完成的研究:
我将尝试使用ezodf或pyexcel-ods读取数据,然后从那里对数据执行其他操作。也许这样的东西对你也有用,万一没有从系统python访问UNO或pyuno的另一种方法。
如果这不起作用,我会尝试重置URE_BOOTSTRAP
祝你好运!
答案 1 :(得分:0)
问题与python包uno的版本有关。必须通过发行包安装,对于 Debian 发行版,您必须通过 apt 而不是通过 pip 安装:
$ sudo apt install python3-uno
在 Debian 11 中。
这样做之后,您可以通过pip安装pyoo:
$ pip install pyoo --user # optional
还有他们:
>>> import pyoo
>>>
如果您尝试使用 pip(或 pip3)安装它会失败,我不知道确切原因,因为它是兼容版本。
答案 2 :(得分:0)
在 Windows 中,LibO 运行它自己的 Python 版本
C:\Program Files\LibreOffice\program\python-core-<version>.
如果您想在 Calc 中运行脚本,您可以考虑在 LibO Python 中安装您喜欢的软件包。它需要一些配置,但随后您将能够运行一些非常棒的宏。
这通常只有在您的机器上具有管理员权限时才有效,或者您可以说服您的 IT 人员更改权限。通常,我将权限更改为所有人/完全控制
C:\Program Files\LibreOffice\program # Everyone/Full control permissions
C:\Program Files\LibreOffice\share # Optional Everyone/Full control permissions
# this is where LibO looks for macros
然后你就必须安装 pip(LibO python 没有自带)。下载 get-pip.py 并将其保存在某处。然后从命令提示符运行它:
cd /d C:\Program Files\LibreOffice\program
python <path to get-pip.py>
现在你已经在 pythoncore-/Scripts 文件夹中安装了 pip。在命令提示符下安装您喜欢的软件包:
cd /d C:\Program Files\LibreOffice\program
python-core<version>\Scripts\pip install <your package here>