Hello,
Using Linux Mint,
I just switched from LibreOffice 25.2 to 25.8,
and I’m having issues using Python macros with pandas.
The same files that work fine under Calc with version 25.2 no longer work with 25.8.
For both versions, LibreOffice points to => /usr/bin/python3
Maybe it’s an installation problem?
Note the 2 versions are still available on my computer and launching 25.2 is always OK with Python
Are you sure about this?
For both versions, LibreOffice points to => /usr/bin/python3
this is also true if one of them is linked to the host and the other is »inside a flatpak«-container,
please copy&paste for both Versions ⇒Help⇒About Libreoffice⇒Version-info
for me (debian 13 trixie on Raspberrypi5) its:
Version: 25.8.0.4 (AARCH64) / LibreOffice Community
Build ID: 48f00303701489684e67c38c28aff00cd5929e67
CPU threads: 4; OS: Linux 6.12; UI render: default; VCL: gtk3
Locale: de-DE (de_DE.UTF-8); UI: de-DE
Flatpak
Calc: threaded
#### and
Version: 25.2.3.2 (AARCH64) / LibreOffice Community
Build ID: 520(Build:2)
CPU threads: 4; OS: Linux 6.12; UI render: default; VCL: gtk3
Locale: de-DE (de_DE.UTF-8); UI: de-DE
Debian package version: 4:25.2.3-2
Calc: threaded
btw. if you write english you should switch the Label Français to english
Version: 25.8.0.4 (X86_64)
Build ID: 48f00303701489684e67c38c28aff00cd5929e67
CPU threads: 12; OS: Linux 6.8; UI render: default; VCL: gtk3
Locale: fr-FR (fr_FR.UTF-8); UI: fr-FR
Calc: threaded
Version: 25.2.5.2 (X86_64) / LibreOffice Community
Build ID: 03d19516eb2e1dd5d4ccd751a0d6f35f35e08022
CPU threads: 12; OS: Linux 6.8; UI render: default; VCL: gtk3
Locale: fr-FR (fr_FR.UTF-8); UI: fr-FR
Calc: threaded
Hello / Bonjour
Don’t know how to change the label
fr: Désolé je ne savais pas quel language il était préférable d’utiliser.
J’utilise les version FR de Libreoffice et avec la dernière version 25.8.0.4 je rencontre un problème lors de l’execution de fonctions Python, une erreur apparait lors de l’import de Pandas alors que tout est OK avec 25.2.5.2
en: Sorry, I didn’t know which language was best to use.
I am using the French version of LibreOffice, and with the latest version 25.8.0.4, I am encountering a problem when executing Python functions. An error appears when importing Pandas, whereas everything works fine with 25.2.5.2.
Hello and many thanks
Your questions help me I still did found a solution but I know now that path for python libraries is not the same for both version.
But searching on .lib directories for python on libroffice pands*.* is not found
Error for me was between Python path and Python libraries
Nom LibreOffice
Version 25.2
Fournisseur T he Document Foundation
sys.path /opt/libreoffice25.2/program/python-core-3.10.18/lib
Python Exécutable /usr/bin/python3
Nom LibreOffice
Version 25.8
Fournisseur The Document Foundation
sys.path /opt/libreoffice25.8/program/python-core-3.11.13/lib
Python Exécutable /usr/bin/python3
Show using these script
import sys
import uno
def afficher_python_path():
doc = XSCRIPTCONTEXT.getDocument()
sheet = doc.Sheets[0]
sheet.getCellByPosition(0, 4).String = "Python Exécutable"
sheet.getCellByPosition(1, 4).String = sys.executable
def afficher_version_libreoffice():
ctx = XSCRIPTCONTEXT.getComponentContext()
smgr = ctx.ServiceManager
try:
# Créer le fournisseur de configuration
cp = smgr.createInstanceWithContext("com.sun.star.configuration.ConfigurationProvider", ctx)
# Spécifier l'accès à la configuration Office
node = uno.createUnoStruct("com.sun.star.beans.PropertyValue")
node.Name = "nodepath"
node.Value = "/org.openoffice.Setup/Product"
# Lire la configuration
ca = cp.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", (node,))
name = ca.getPropertyValue("ooName") # Ex: "LibreOffice"
version = ca.getPropertyValue("ooSetupVersion") # Ex: "7.6"
build = ca.getPropertyValue("ooVendor") # Ex: "The Document Foundation"
doc = XSCRIPTCONTEXT.getDocument()
sheet = doc.Sheets[0]
sheet.getCellByPosition(0, 0).String = "Nom"
sheet.getCellByPosition(1, 0).String = name
sheet.getCellByPosition(0, 1).String = "Version"
sheet.getCellByPosition(1, 1).String = version
sheet.getCellByPosition(0, 2).String = "Fournisseur"
sheet.getCellByPosition(1, 2).String = build
except Exception as e:
doc = XSCRIPTCONTEXT.getDocument()
sheet = doc.Sheets[0]
sheet.getCellByPosition(0, 0).String = "Erreur"
sheet.getCellByPosition(1, 0).String = str(e)
def show_libreoffice_python_paths():
doc = XSCRIPTCONTEXT.getDocument()
sheet = doc.Sheets[0]
sheet.getCellByPosition(0, 3).String = "sys.path"
# Afficher seulement une partie de sys.path (ex : première ligne)
sheet.getCellByPosition(1, 3).String = sys.path[0]
# Facultatif : retourne tous les chemins, si appelé depuis autre contexte
return "\n".join(sys.path)
def afficher_versions():
afficher_version_libreoffice()
afficher_python_path()
show_libreoffice_python_paths()