首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 3.6安装问题上的Pyuno

Python 3.6安装问题上的Pyuno
EN

Stack Overflow用户
提问于 2017-10-27 01:33:06
回答 3查看 2K关注 0票数 1

我运行的是Windows7、Python3.6和LibreOffice 5.4.2.2 (按顺序安装)。

目标:在LibreOffice之外的Python3.6上安装和使用pyuno (独立的集成开发环境,他的案例是: PyCharm 2017.2.3社区版)。我希望能够在Calc sheets上运行脚本,就像我可以在Excel上使用Pandas一样。

问题:在开始尝试执行带有"import uno“的脚本时,我得到了missing elements错误:

代码语言:javascript
复制
  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'

我既不能使用pip也不能使用pip3.6来安装'Element‘。我通过pip3.6安装uno安装了pyuno。

我尝试使用python3-uno安装:

代码语言:javascript
复制
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) install python-uno。

我猜(或者更确切地说是在其他线程上阅读),init__.py文件可能在我的Pycharm/Python3.6和Python3.5之间发生了冲突,Python3.5是Libre Office附带的,但我不知道如何处理它。

如果您知道如何让这个东西工作,或者从哪里获取缺失的元素,您的支持将不胜感激。

EN

回答 3

Stack Overflow用户

发布于 2018-06-08 05:08:31

我正试着做一些类似的事情。

如果你使用pip下载uno,它可能不是你想要的东西。(https://pypi.org/project/pyoo/参见“先决条件”)。

此外,我读过的许多地方明确表示,python的系统版本必须与LibreOffice或Openoffice python版本匹配。

我简要地尝试了使用以下命令修改PYTHONPATH

‘导入sys

Sys.append(‘LibreOffice 5文件夹下的pyuno路径’)

导入pyuno‘’

但这导致我的命令窗口冻结。我没有尝试重置URE_BOOTSTRAP,所以这可能会起作用。

否则,许多人会说,要使用不兼容的python版本在OpenOffice或LibreOffice上操作,应该使用COM (组件对象模型)方法/工具,尽管我对此没有经验,文档也不是很好。我确实找到了这本书和演示文稿,但它涉及到很多我还没有完成的研究:

书名:https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwje0u7QuMLbAhXLFzQIHcexAdUQFgg8MAE&url=http%3A%2F%2Fwww.datatime.org%2Fe%2Fupload%2Fs1%2Ffck%2Ffile%2F2017%2F01%2F11%2F1008283040.pdf&usg=AOvVaw2Q5uuLBlc7Adlami3-D1xa

演示:https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0ahUKEwihor7PucLbAhVjNn0KHbb7AyQQFgg3MAM&url=http%3A%2F%2Fftp.ntua.gr%2Fmirror%2Fpython%2Fwindows%2Fwin32com%2FCOMTutorial.ppt&usg=AOvVaw0VkCgHsto0LR1q5o1EygMp

我将尝试使用ezodf或pyexcel-ods读取数据,然后对其中的数据执行其他操作。如果没有其他方法可以从系统python访问UNO或pyuno,那么这样的方法可能也适用于您。

如果不起作用,我将尝试重置URE_BOOTSTRAP

祝你好运!

票数 0
EN

Stack Overflow用户

发布于 2021-07-29 06:40:21

这个问题与python包uno的版本有关。必须通过发行包安装,对于Debian发行版,您必须通过apt安装,而不是pip:

代码语言:javascript
复制
$ sudo apt install python3-uno

在Debian 11中。

这样做之后,您可以通过pip安装pyoo:

代码语言:javascript
复制
$ pip install pyoo --user # optional

和他们:

代码语言:javascript
复制
>>> import pyoo
>>>

如果你尝试使用pip (或pip3)安装,它将失败,我不知道确切的原因,因为它可能是一个兼容的版本。

票数 0
EN

Stack Overflow用户

发布于 2021-07-29 07:16:28

在Windows中,LibO运行它自己的Python版本,嵌入

代码语言:javascript
复制
C:\Program Files\LibreOffice\program\python-core-<version>. 

如果您想在Calc中运行脚本,可以考虑在LibO Python中安装您最喜欢的包。它需要一些配置,但然后您将能够运行一些相当不错的宏。

通常只有当您的计算机上有管理员权限,或者您可以说服您的IT人员更改权限时,这才会起作用。通常,我会将权限更改为Everyone/Full control on

代码语言:javascript
复制
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并将其保存在某个位置。然后从命令提示符运行它:

代码语言:javascript
复制
cd /d C:\Program Files\LibreOffice\program
python <path to get-pip.py>

现在您已经在pythoncore-/Scripts文件夹中安装了pip。要在命令提示符中安装您喜欢的软件包,请执行以下操作:

代码语言:javascript
复制
cd /d C:\Program Files\LibreOffice\program
python-core<version>\Scripts\pip install <your package here>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46960487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档