LibreOffice 'uno'模块无法在Python 3.10运行?求解决方案
LibreOffice 7.3.4 与 Python 3.10 交互的版本冲突解决
问题根源
LibreOffice 7.3.x 系列的pyuno模块是基于 Python 3.8 编译的,必须依赖python38.dll才能运行,官方发行说明未提及Python版本更新不代表底层依赖有变化,因此系统仅安装Python 3.10时会触发版本冲突报错。
无需等待7.4版本的解决办法
- 安装Python 3.8与3.10共存:无需卸载现有Python 3.10,安装Python 3.8后,运行LibreOffice相关脚本时指定使用Python 3.8解释器(例如用
py -3.8命令启动脚本),让LibreOffice能找到对应的python38.dll。 - 使用LibreOffice自带的Python解释器:LibreOffice安装目录下(如
D:\libreoffice7.3.4\program\python.exe)自带适配好的Python 3.8环境,直接用该解释器执行脚本,可正常import uno,完全规避版本冲突。 - 降级至LibreOffice 7.2.x:若不需要7.3版本的新功能,7.2.x同样依赖Python 3.8,适配逻辑与上述方案一致,但此方案灵活性较低,优先推荐前两种。
关于LibreOffice 7.4版本的说明
LibreOffice 7.4.x 系列已将内置Python版本升级至3.10,若你希望直接使用系统的Python 3.10与LibreOffice交互,升级到7.4及以上版本可彻底解决此dll冲突问题,无需额外安装旧版Python。
内容的提问来源于stack exchange,提问作者M.Argyle.22
相关产品推荐
相关产品推荐

