API de Yunohost ne répond plus suite a installation custom de Python

My YunoHost server

Hardware: NUC INTEL
YunoHost version: 11.1.21
I have access to my server : SSH et WEBADMIN

Bonjour,

Depuis quelque jour, je ne peux plus acceder à l’interface admin, il me dit que l’api ne répond pas.
Quand j’essaye de ré-installer depuis la console, il me fait un erreur que voici :

yunohost is already the newest version (11.1.21.3).
0 upgraded, 0 newly installed, 0 to remove and 64 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up yunohost (11.1.21.3) ...
Regenerating configuration, this might take a while...
Traceback (most recent call last):
  File "/usr/lib/python3.9/logging/config.py", line 389, in resolve
    found = getattr(found, frag)
AttributeError: module 'moulinette.interfaces' has no attribute 'api'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/logging/config.py", line 564, in configure
    handler = self.configure_handler(handlers[name])
  File "/usr/lib/python3.9/logging/config.py", line 722, in configure_handler
    klass = self.resolve(cname)
  File "/usr/lib/python3.9/logging/config.py", line 391, in resolve
    self.importer(used)
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/api.py", line 12, in <module>
    from gevent import sleep
  File "/usr/lib/python3/dist-packages/gevent/__init__.py", line 86, in <module>
    from gevent._hub_local import get_hub
  File "/usr/lib/python3/dist-packages/gevent/_hub_local.py", line 101, in <module>
    import_c_accel(globals(), 'gevent.__hub_local')
  File "/usr/lib/python3/dist-packages/gevent/_util.py", line 148, in import_c_accel
    mod = importlib.import_module(cname)
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "src/gevent/_hub_local.py", line 1, in init gevent._gevent_c_hub_local
ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 152 from C header, got 40 from PyObject

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/yunohost", line 77, in <module>
    yunohost.cli(
  File "/usr/lib/python3/dist-packages/yunohost/__init__.py", line 35, in cli
    init_logging(interface="cli", debug=debug, quiet=quiet)
  File "/usr/lib/python3/dist-packages/yunohost/__init__.py", line 168, in init_logging
    configure_logging(logging_configuration)
  File "/usr/lib/python3/dist-packages/moulinette/utils/log.py", line 67, in configure_logging
    dictConfig(logging_config)
  File "/usr/lib/python3.9/logging/config.py", line 809, in dictConfig
    dictConfigClass(config).configure()
  File "/usr/lib/python3.9/logging/config.py", line 571, in configure
    raise ValueError('Unable to configure handler '
ValueError: Unable to configure handler 'api'
dpkg: error processing package yunohost (--configure):
 installed yunohost package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 yunohost
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@cloud:/home/admin# 

Pouvez vous m’indiquer une piste ?

Merci beaucoup !

J’ose pas redémarrer :fearful:

Je n’ai pas assez de compétence pour aider à résoudre ce genre de problème, cependant tu peux voir pour faire des backups des users, de l’OS ainsi que de t’es apps, juste au cas (et bien sur récupérer ça quelque part :wink: ).

AH ben ça marche pas, même erreur :

`root@cloud:/home/admin# yunohost backup create
Traceback (most recent call last):
File “/usr/lib/python3.9/logging/config.py”, line 389, in resolve
found = getattr(found, frag)
AttributeError: module ‘moulinette.interfaces’ has no attribute ‘api’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/lib/python3.9/logging/config.py”, line 564, in configure
handler = self.configure_handler(handlers[name])
File “/usr/lib/python3.9/logging/config.py”, line 722, in configure_handler
klass = self.resolve(cname)
File “/usr/lib/python3.9/logging/config.py”, line 391, in resolve
self.importer(used)
File “/usr/lib/python3/dist-packages/moulinette/interfaces/api.py”, line 12, in
from gevent import sleep
File “/usr/lib/python3/dist-packages/gevent/init.py”, line 86, in
from gevent._hub_local import get_hub
File “/usr/lib/python3/dist-packages/gevent/_hub_local.py”, line 101, in
import_c_accel(globals(), ‘gevent.__hub_local’)
File “/usr/lib/python3/dist-packages/gevent/_util.py”, line 148, in import_c_accel
mod = importlib.import_module(cname)
File “/usr/lib/python3.9/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “src/gevent/_hub_local.py”, line 1, in init gevent._gevent_c_hub_local
ValueError: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 152 from C header, got 40 from PyObject

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/usr/bin/yunohost”, line 77, in
yunohost.cli(
File “/usr/lib/python3/dist-packages/yunohost/init.py”, line 35, in cli
init_logging(interface=“cli”, debug=debug, quiet=quiet)
File “/usr/lib/python3/dist-packages/yunohost/init.py”, line 168, in init_logging
configure_logging(logging_configuration)
File “/usr/lib/python3/dist-packages/moulinette/utils/log.py”, line 67, in configure_logging
dictConfig(logging_config)
File “/usr/lib/python3.9/logging/config.py”, line 809, in dictConfig
dictConfigClass(config).configure()
File “/usr/lib/python3.9/logging/config.py”, line 571, in configure
raise ValueError('Unable to configure handler ’
ValueError: Unable to configure handler ‘api’`

J’ai l’impression de ne pas utiliser une bonne version de python, j’ai du installer une version manuelle pour un programme, je me demande si ça ne vient pas de là.

Ah, ça parait logique, tu as quelle version de python exécuté par défaut ?

Il y a un truc chelou avec cette ligne (notamment le src/gevent/_hub_local.py), comme si c’était un import relatif au lieu d’un import absolu, comme si il y avait de code python custom dans le répertoire depuis lequel ce programme est lancé … enfin ptete je mtrompe

Il y a eu l’installation d’une version de python custom, est ce que je peux le refaire switcher sur la version ulterieur ? après l’install en question a été faite ya plus d’un mois, et il n’y pas eu de soucis depuis.

Sans doute mais difficile de dire comment car on a aucune info sur comment tu as installé cette version custom …

Quand je disais custom, c’est que j’ai forcé l’installation de python3.10 a un moment (ui ne semble plus être installé), ce n’est pas une version non officielle. Est ce que Yunohost est mieux avec une version particulière de python ?

Est ce que desinstaller et ré-installer la paquetage yunohost peut arranger les chose ?

Edit : pfiou effectivement c’est python qui est dans le mal, pip ne répond plus, ya des erreurs partout. Je cherche a voir comment refaire une install complète de python

YunoHost est très content de rester avec la version de Debian par défaut …

Oui certes, mais la question est moins de savoir quelle version tu as installé que de comment tu l’as installé. Il y a milles facon de faire … installé en root, installé seulement pour un user donné, si c’est installé en root, est-ce que le script a déployé des binaires déjà compilés en local ou est-ce que tu l’as compilé en local, à quel point ça a contaminé la version de base installée en mettant du zbeul dans /usr/local/ ou autre, etc … On ne sais pas comment tu l’as installé donc on ne peux pas magiquement te dire “exécute telle commande et ça va tout débloquer”. D’ailleurs, même en sachant comment tu l’as installé c’est pas du tout une question triviale et pas sur de quoi te dire pour réparer le zbeul.

Je comprends, j’ai fait une install par APT (sans source externe), et j’ai installer un ensemble de module par pip.
Que voila :
GNU nano 5.4 requirements.txt
langchain==0.0.177
gpt4all==0.2.3
chromadb==0.3.23
llama-cpp-python==0.1.50
urllib3==2.0.2
pdfminer.six==20221105
python-dotenv==1.0.0
unstructured==0.6.6
extract-msg==0.41.1
tabulate==0.9.0
pandoc==2.3
pypandoc==1.11
tqdm==4.65.0

Je comprends que j’ai évidement la responsabilité de cette installation custom, encore merci du temps que tu as pris / prendra. Je tenterais au pire une ré-install avec la dernière sauvegarde. Merci et encore désolé pour le temps pris.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.