Mycroft-core: AttributeError : l'objet 'module' n'a pas d'attribut 'SSL_ST_INIT'

Créé le 27 avr. 2017  ·  18Commentaires  ·  Source: MycroftAI/mycroft-core

Lors de l'installation de mycroft-core à partir de l'AUR, j'obtiens l'erreur suivante lors de la tentative de démarrage du service.

systemctl --user status mycroft-service.service mycroft-skills.service mycroft-voice.service
● mycroft-service.service - Mycroft main service
   Loaded: loaded (/usr/lib/systemd/user/mycroft-service.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2017-04-26 03:05:26 EDT; 49s ago
 Main PID: 14053 (bash)
   CGroup: /user.slice/user-1000.slice/[email protected]/mycroft-service.service
           ├─14053 bash /usr/share/mycroft-core/start.sh service
           └─14068 python /usr/share/mycroft-core/mycroft/messagebus/service/main.py

Apr 26 03:05:26 $HOSTNAME systemd[1193]: Started Mycroft main service.
Apr 26 03:05:26 $HOSTNAME bash[14053]: Starting service
Apr 26 03:05:26 $HOSTNAME bash[14053]: 2017-04-26 03:05:26,395 - mycroft.configuration - WARNING - Failed to fetch remote configuration: AttributeError("'module' object has no attribute 'SSL_ST_INIT'",)

● mycroft-skills.service - Mycroft skills provider
   Loaded: loaded (/usr/lib/systemd/user/mycroft-skills.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2017-04-25 21:52:28 EDT; 5h 13min ago
 Main PID: 2292 (bash)
   CGroup: /user.slice/user-1000.slice/[email protected]/mycroft-skills.service
           ├─2292 bash /usr/share/mycroft-core/start.sh skills
           └─2318 python /usr/share/mycroft-core/mycroft/skills/main.py

Apr 26 03:01:21 $HOSTNAME bash[2292]: 2017-04-26 03:01:21,762 - mycroft.messagebus.client.ws - WARNING - WS Client will reconnect in 60 seconds.
Apr 26 03:02:21 $HOSTNAME bash[2292]: 2017-04-26 03:02:21,813 - mycroft.messagebus.client.ws - ERROR - Exception("Uncaught 'error' event.",)
Apr 26 03:02:21 $HOSTNAME bash[2292]: 2017-04-26 03:02:21,814 - mycroft.messagebus.client.ws - WARNING - WS Client will reconnect in 60 seconds.
Apr 26 03:03:21 $HOSTNAME bash[2292]: 2017-04-26 03:03:21,870 - mycroft.messagebus.client.ws - ERROR - Exception("Uncaught 'error' event.",)
Apr 26 03:03:21 $HOSTNAME bash[2292]: 2017-04-26 03:03:21,870 - mycroft.messagebus.client.ws - WARNING - WS Client will reconnect in 60 seconds.
Apr 26 03:04:21 $HOSTNAME bash[2292]: 2017-04-26 03:04:21,907 - mycroft.messagebus.client.ws - ERROR - Exception("Uncaught 'error' event.",)
Apr 26 03:04:21 $HOSTNAME bash[2292]: 2017-04-26 03:04:21,907 - mycroft.messagebus.client.ws - WARNING - WS Client will reconnect in 60 seconds.
Apr 26 03:05:21 $HOSTNAME bash[2292]: 2017-04-26 03:05:21,956 - mycroft.messagebus.client.ws - ERROR - Exception("Uncaught 'error' event.",)
Apr 26 03:05:21 $HOSTNAME bash[2292]: 2017-04-26 03:05:21,956 - mycroft.messagebus.client.ws - WARNING - WS Client will reconnect in 60 seconds.
Apr 26 03:05:36 $HOSTNAME systemd[1193]: [/usr/lib/systemd/user/mycroft-skills.service:3] Failed to add dependency on mycroft-service, ignoring: Invalid argument

● mycroft-voice.service - Mycroft voice processing
   Loaded: loaded (/usr/lib/systemd/user/mycroft-voice.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2017-04-26 03:05:38 EDT; 37s ago
  Process: 14083 ExecStart=/bin/bash -c source /usr/share/mycroft-core/.virtualenvs/mycroft/bin/activate && /usr/share/mycroft-core/start.sh voice (code=exited, status=1/FAILURE)
 Main PID: 14083 (code=exited, status=1/FAILURE)

Apr 26 03:05:38 $HOSTNAME bash[14083]:   File "/home/$USER/.virtualenvs/mycroft/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 47, in <module>
Apr 26 03:05:38 $HOSTNAME bash[14083]:     import OpenSSL.SSL
Apr 26 03:05:38 $HOSTNAME bash[14083]:   File "/home/$USER/.virtualenvs/mycroft/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module>
Apr 26 03:05:38 $HOSTNAME bash[14083]:     from OpenSSL import rand, crypto, SSL
Apr 26 03:05:38 $HOSTNAME bash[14083]:   File "/home/$USER/.virtualenvs/mycroft/lib/python2.7/site-packages/OpenSSL/SSL.py", line 124, in <module>
Apr 26 03:05:38 $HOSTNAME bash[14083]:     SSL_ST_INIT = _lib.SSL_ST_INIT
Apr 26 03:05:38 $HOSTNAME bash[14083]: AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
Apr 26 03:05:38 $HOSTNAME systemd[1193]: mycroft-voice.service: Main process exited, code=exited, status=1/FAILURE
Apr 26 03:05:38 $HOSTNAME systemd[1193]: mycroft-voice.service: Unit entered failed state.
Apr 26 03:05:38 $HOSTNAME systemd[1193]: mycroft-voice.service: Failed with result 'exit-code'.

Commentaire le plus utile

Vous devez réinstaller le package pip après le changement.

pip uninstall pyOpenSSL
pip install pyOpenSSL==16.2.0

Tu es sous quel OS aussi ?

Tous les 18 commentaires

changer pyOpenSSL==16.0.0 dans requirements.txt en pyOpenSSL==16.2.0 résout ce problème.

Je l'ai changé et j'ai toujours ce problème

Vous devez réinstaller le package pip après le changement.

pip uninstall pyOpenSSL
pip install pyOpenSSL==16.2.0

Tu es sous quel OS aussi ?

Je suis sur Arch, j'ai fait comme demandé, toujours:
Starting voice 2017-04-29 23:57:00,722 - mycroft.configuration - DEBUG - Configuration '/usr/share/mycroft-core/mycroft/configuration/mycroft.conf' loaded 2017-04-29 23:57:00,723 - mycroft.configuration - DEBUG - Configuration '/etc/mycroft/mycroft.conf' not found 2017-04-29 23:57:00,723 - mycroft.configuration - DEBUG - Configuration '/home/daenerys/.mycroft/mycroft.conf' not found 2017-04-29 23:57:01,200 - mycroft.configuration - WARNING - Failed to fetch remote configuration: AttributeError("'module' object has no attribute 'SSL_ST_INIT'",) Traceback (most recent call last): File "/usr/share/mycroft-core/mycroft/client/speech/main.py", line 24, in <module> from mycroft.client.speech.listener import RecognizerLoop File "/usr/share/mycroft-core/mycroft/client/speech/listener.py", line 25, in <module> from requests import HTTPError File "/home/daenerys/.virtualenvs/mycroft/lib/python2.7/site-packages/requests/__init__.py", line 52, in <module> from .packages.urllib3.contrib import pyopenssl File "/home/daenerys/.virtualenvs/mycroft/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 46, in <module> import OpenSSL.SSL File "/home/daenerys/.virtualenvs/mycroft/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module> from OpenSSL import rand, crypto, SSL File "/home/daenerys/.virtualenvs/mycroft/lib/python2.7/site-packages/OpenSSL/SSL.py", line 124, in <module> SSL_ST_INIT = _lib.SSL_ST_INIT AttributeError: 'module' object has no attribute 'SSL_ST_INIT'

J'ai également essayé d'installer la version de ma distribution, car quelqu'un dans AUR a dit que cela résoudrait le problème. Jusqu'à présent, toutes les tentatives de modification de pyopenssl ont échoué à résoudre le problème.

Même erreur lorsque je lance dev_setup.sh

Essayez d'installer à partir de Git, l'AUR est obsolète et clairement cassé.

Je l'ai essayé depuis git. J'ai essayé AUR après quand je n'ai pas pu le faire fonctionner et j'ai pensé que quelqu'un d'autre avait plus de chance

J'ai aussi ce problème sur mon bureau avec Arch Linux. J'ai installé manjaro sur mon ordinateur portable et je n'ai pas ce problème, pourrait-il s'agir d'un problème de dépendance qui n'est pas répertorié?

Je pense qu'il peut s'agir d'une incompatibilité avec la version openSSL du système et la version pyOpenSSL dans mycroft virtualenv. Pas sûr à 100% cependant. Comme indiqué ci-dessus par @ BoBeR182 ci-dessus, la mise à jour de pyOpenSSL est une solution possible

Oui, j'ai déjà essayé ci-dessus. Même essayé de reconstruire frais après avoir changé le dep. Toujours le même problème.

Sur mon raspberry Pi, j'ai changé pyopenssl en 17.0.0 et j'ai eu du succès. J'ai dû supprimer l'intégralité de virtualenv et relancer dev_setup pour obtenir un environnement de travail, puis j'ai dû mettre à niveau certains des packages pour que tout soit opérationnel =/

Même problème pour moi sur Arch avec 17.0.0 aussi...

ÇA NE FAIT RIEN!
La suppression de tout le dossier env dans ~ et la réexécution dev.setup l'ont fait fonctionner. Désolé pour le bruit

S'il s'agit encore d'un correctif confirmé ?

Ça devrait être. Je me demande simplement si nous devrions passer à 16.2.0 ou à 17.0.0 ?

16.2.0 a fonctionné pour moi après avoir supprimé le dossier ~/.virtualenv, donc oui correctif confirmé.

Je ne pense pas que nous devions aller jusqu'à 17.0.0

Super, c'est ce que je voulais entendre !

La mise à niveau de pyOpenSSL vers 16.2.0 a résolu mon problème.
pip désinstaller pyOpenSSL
pip installer pyOpenSSL==16.2.0

J'ai aussi vu l'erreur AttributeError: 'module' object has no attribute 'SSL_ST_INIT' et sudo pip install pyOpenSSL==16.2.0 l'a résolue pour moi !

+1 fonctionne pour moi

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

mghoffmann picture mghoffmann  ·  6Commentaires

KathyReid picture KathyReid  ·  8Commentaires

ryanleesipes picture ryanleesipes  ·  4Commentaires

forslund picture forslund  ·  6Commentaires

el-tocino picture el-tocino  ·  4Commentaires