[Résolu][Python] IDE_utils émule incorrectement officehelper

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Avatar de l’utilisateur
PierreDeQuébec
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 27 mai 2015 09:48

[Résolu][Python] IDE_utils émule incorrectement officehelper

Message par PierreDeQuébec »


La modération vous a écrit: Nous vous rappelons les règles de ce forum et notamment la n° 7 :
Un sujet = le problème d'une seule personne

Sujet initial : [Python] (bien) débuter avec LibreOffice ou OpenOffice

Bonjour,

J'ai suivi les instructions de LibreOfficiant tant dans Geany que dans PyCharm. Mais quelque chose cloche de travers! Je reçois le message d'erreur suivant en lançant la commande Run dans Pycharm :

Code : Tout sélectionner

/home/maison/.config/libreoffice/4/user/Scripts/python/ApprentissageLO/"--accept=pipe,name=OfficeHelper;urp;" n'existe pas.
J'ai la même erreur dans Geany. Toutefois dans PyCharm, l'étape d'indiquer où ce trouve l'interpréteur Python de LibreOffice n'aboutit pas (Default setting... Project Interpreter). Je suis dans Kubuntu et il y a effectivement un Python dans /opt/libreoffice6.0/program/ (là où ce trouve ma version 6.0). Mais Pycharm me sort l'avertissement suivant "Python packaging tools not found. Install packaging tools". Je clic sur le lien pour installer la suite mais le processus avorte avec le message suivant:

Code : Tout sélectionner

running install

/opt/libreoffice6.0/program/python-core-3.5.4/lib/distutils/dist.py:261: UserWarning: Unknown distribution option: 'long_description_content_type'
  warnings.warn(msg)
error: invalid Python installation: unable to open /opt/libreoffice6.0/program/python-core-3.5.4/lib/python3.5/config-3.5m/Makefile (No such file or directory)
De fait, le répertoire ".../config-3.5m/" n'existe pas! Ici, je bloque.

Quelqu'un pourrait m'aider à résoudre mon problème?

Merci.
Dernière modification par PierreDeQuébec le 06 juil. 2018 01:30, modifié 2 fois.
LibreOffice version: 6.3.1.2, version téléchargée sur Kubuntu 19.04 Disco Dingo. Locale: fr_CA
Noyau 5.0.0-31-generic. Système 64 bits
Avatar de l’utilisateur
LibreOfficiant
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 03 janv. 2017 13:54

Re: [Python] IDE_utils émule incorrectement officehelper

Message par LibreOfficiant »

Bonjour,

Détaillez la configuration de votre projet Geany en allant jeter un oeil ici.
Dernière modification par LibreOfficiant le 06 juil. 2018 12:16, modifié 2 fois.
libO 5.4 64bit, (PortableApps: libO 6.0, aOO 4.1, OOo 3.2 32bit) sur Win7/Win10 x64 | aOO 4.1.x et libO 5.4.x sur Mint 18 Sarah et OSX 10.9 Mavericks x64
Boîte à Outils Python: Geany, PyCharm et bien sûr APSO, MRI..
https://wiki.documentfoundation.org/Mac ... n_Guide/fr
Avatar de l’utilisateur
PierreDeQuébec
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 27 mai 2015 09:48

Re: [Python] IDE_utils émule incorrectement officehelper

Message par PierreDeQuébec »

Bonjour,

Dans Geany, j'ai initialiser les commandes Execute et Compile aux valeurs suivantes:
Execute : /opt/libreoffice6.0/program/python "%f"
Compile : /opt/libreoffice6.0/program/python -m py_compile "%f"

Mon petit bout de programme pour simplement tester la connexion ressemble à ceci:

Code : Tout sélectionner

# /usr/bin/python3
# coding: utf8

def macro_1(): pass

g_exportedScripts = macro_1 # *Office public macros

#! EXAMPLE 1
if __name__ == "__main__":
    """ IDE runnable code: *Office as a service """
    import IDE_utils as geany
    with geany.Runner() as jesse_owens: # Start/Stop
        XSCRIPTCONTEXT = geany.XSCRIPTCONTEXT   # Connect/Adapt
        macro_1 # Run
J'ai déposé une copie de IDE_utils.py dans /opt/libreoffice6.0/program/

Le message d'erreur est alors celui-ci suite à une commande d'exécution.
/home/maison/.config/libreoffice/4/user/Scripts/python/TestIntegrationLO/"--accept=pipe,name=OfficeHelper;urp;" n'existe pas.
Geany semble chercher soffice dans mon répertoire projet!

Curieusement, Geany ne demande pas l'installation d'une suite Python comme le demande PyCharm.

Merci
Dernière modification par PierreDeQuébec le 05 juil. 2018 00:45, modifié 1 fois.
LibreOffice version: 6.3.1.2, version téléchargée sur Kubuntu 19.04 Disco Dingo. Locale: fr_CA
Noyau 5.0.0-31-generic. Système 64 bits
Avatar de l’utilisateur
LibreOfficiant
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 03 janv. 2017 13:54

Re: [Python] IDE_utils émule incorrectement officehelper

Message par LibreOfficiant »

Merci pour ce message

Dans la routine _bootstrap() d'IDE_utils.py, ôtez les guillemets " pour obtenir
'-accept=pipe,name=OfficeHelper;urp;' sans les guillemets

Sauvez IDE_utils, re-essayez et tenez moi au courant... :wink:

Optionnellement faites un essai en changeant aussi dans IDE_utils :
_INFO, _DEBUG, _EMULATE_OFFICEHELPER = False, False, True
en
_INFO, _DEBUG, _EMULATE_OFFICEHELPER = True, False, True
et capturez-en la sortie

Cordialement

PS: Si votre problème disparaît le titre de ce sujet devrait plutôt être changé en
[Python] IDE_utils émule incorrectement officehelper
libO 5.4 64bit, (PortableApps: libO 6.0, aOO 4.1, OOo 3.2 32bit) sur Win7/Win10 x64 | aOO 4.1.x et libO 5.4.x sur Mint 18 Sarah et OSX 10.9 Mavericks x64
Boîte à Outils Python: Geany, PyCharm et bien sûr APSO, MRI..
https://wiki.documentfoundation.org/Mac ... n_Guide/fr
Avatar de l’utilisateur
PierreDeQuébec
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 27 mai 2015 09:48

Re: [Python] IDE_utils émule incorrectement officehelper

Message par PierreDeQuébec »

Bonjour LibreOfficiant,

Enlever les guillemets à résolu en partie le problème. J'ai donc changer l'option _INFO pour True dans IDE_utils.py. Le "traceback" est le suivant.

Code : Tout sélectionner

2018-07-04 20:34:27,096     INFO BOOTSTRAPping (Libre|Open)Office instance..
2018-07-04 20:34:27,096     INFO STARTing (Libre|Open)Office instances..
2018-07-04 20:34:30,104     INFO CONNECTing to uno:pipe,name=OfficeHelper;urp;StarOffice.ComponentContext
2018-07-04 20:34:30,108     INFO CONNECTing to uno:pipe,name=OfficeHelper;urp;StarOffice.ComponentContext
Traceback (most recent call last):
  File "TestIDELO.py", line 14, in <module>
    with geany.Runner() as jesse_owens: # Start/Stop
  File "/opt/libreoffice6.0/program/IDE_utils.py", line 243, in __init__
    self.services = Runner._read_service()
  File "/opt/libreoffice6.0/program/IDE_utils.py", line 313, in _read_service
    services = json.load(f)  # (pgm, [ accept, *options]) pairs
  File "/opt/libreoffice6.0/program/python-core-3.5.4/lib/json/__init__.py", line 268, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "/opt/libreoffice6.0/program/python-core-3.5.4/lib/json/__init__.py", line 319, in loads
    return _default_decoder.decode(s)
  File "/opt/libreoffice6.0/program/python-core-3.5.4/lib/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/opt/libreoffice6.0/program/python-core-3.5.4/lib/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2018-07-04 20:34:30,111     INFO EXITing IDE_utils


------------------
(program exited with code: 1)
Press return to continue
J'obtiens ce résultat autant dans Geany (qui ouvre alors une "Konsole") que dans la fenêtre d'exécution de PyCharm. De fait, le problème mentionné sur l'installation d'une suite Python ne semble plus se poser.

Merci.

PSé Pour le titre. J'ai changé le titre de tous mes messages. Je vous invites à faire de même vu la faible quantité de publication.
LibreOffice version: 6.3.1.2, version téléchargée sur Kubuntu 19.04 Disco Dingo. Locale: fr_CA
Noyau 5.0.0-31-generic. Système 64 bits
Avatar de l’utilisateur
LibreOfficiant
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 03 janv. 2017 13:54

Re: [Python] IDE_utils émule incorrectement officehelper

Message par LibreOfficiant »

Bonjour,

IDE_utils détecte la présence d'un fichier facultatif 'Runners.json' non conforme au format JSON attendu. Renommez-le et relancez, cela devrait fonctionner.

Capturez le contenu de 'Runners.json' ici-même Svp

Cordialement

PS: Titres changés maintenant
libO 5.4 64bit, (PortableApps: libO 6.0, aOO 4.1, OOo 3.2 32bit) sur Win7/Win10 x64 | aOO 4.1.x et libO 5.4.x sur Mint 18 Sarah et OSX 10.9 Mavericks x64
Boîte à Outils Python: Geany, PyCharm et bien sûr APSO, MRI..
https://wiki.documentfoundation.org/Mac ... n_Guide/fr
Avatar de l’utilisateur
PierreDeQuébec
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 27 mai 2015 09:48

Re: [Python] IDE_utils émule incorrectement officehelper

Message par PierreDeQuébec »

Bonjour LibreOfficiant,

La sortie est la suivante.

Code : Tout sélectionner

/opt/libreoffice6.0/program/python /home/maison/.config/libreoffice/4/user/Scripts/python/ApprentissageLO/TestIDELO.py
2018-07-05 05:50:13,489     INFO BOOTSTRAPping (Libre|Open)Office instance..
2018-07-05 05:50:13,489     INFO STARTing (Libre|Open)Office instances..
2018-07-05 05:50:16,496     INFO CONNECTing to uno:pipe,name=OfficeHelper;urp;StarOffice.ComponentContext
2018-07-05 05:50:16,501     INFO CONNECTing to uno:pipe,name=OfficeHelper;urp;StarOffice.ComponentContext
2018-07-05 05:50:16,502     INFO STARTing (Libre|Open)Office instances..
2018-07-05 05:50:16,502     INFO STOPping (Libre|Open)Office instances..
2018-07-05 05:50:16,502     INFO EXITing IDE_utils

Process finished with exit code 0
L'erreur était subtil et entièrement de ma faute! J'ai cru, à tort, que le fichier Runners.json devait être copié dans le répertoire du projet. J'ai enlever le fichier et maintenant, le programme tourne visiblement sans erreur. À l'origine de l'erreur, j'ai récupéré le fichier IDE_utils.py sur votre site GitLab. N'étant pas familier avec GitLab, je n'y est pas trouvé de commande pour télécharger en bloc tout ce qui doit être récupéré pour une installation. Dans mes essais-erreurs, j'ai du voir une erreur se plaignant de l'absence d'un fichier Runners.json. D'où ma récupération du fichier en question sur votre site GitLab.

Pour clarifier le tout. Est-ce IDE_utils.py est le seul fichier requis?

Merci.

Merci.
LibreOffice version: 6.3.1.2, version téléchargée sur Kubuntu 19.04 Disco Dingo. Locale: fr_CA
Noyau 5.0.0-31-generic. Système 64 bits
Avatar de l’utilisateur
LibreOfficiant
Membre lOOyal
Membre lOOyal
Messages : 40
Inscription : 03 janv. 2017 13:54

Re: [Python] IDE_utils émule incorrectement officehelper

Message par LibreOfficiant »

Bonjour,

Merci pour cette bonne nouvelle ! Votre prise en main d'IDE_utils eut été facilitée s'il n'y avait pas eu un bogue en premier lieu !
Je vais corriger la version publique d'IDE_utils, en y gérant peut-être les anomalies de lecture de fichiers JSON, pour rendre les traces plus lisibles.

IDE_utils.py est bien le seul fichier nécessaire. Je vous invite à consulter le guide de prise en main disponible sur le répertoire /docs de GitLab.

Cordialement

PS: Pensez à marquer cette conversation comme résolue.
libO 5.4 64bit, (PortableApps: libO 6.0, aOO 4.1, OOo 3.2 32bit) sur Win7/Win10 x64 | aOO 4.1.x et libO 5.4.x sur Mint 18 Sarah et OSX 10.9 Mavericks x64
Boîte à Outils Python: Geany, PyCharm et bien sûr APSO, MRI..
https://wiki.documentfoundation.org/Mac ... n_Guide/fr