Mycroft-core: AttributeError: objeto 'module' não tem atributo 'SSL_ST_INIT'

Criado em 27 abr. 2017  ·  18Comentários  ·  Fonte: MycroftAI/mycroft-core

Ao instalar o mycroft-core do AUR, recebo o seguinte erro ao tentar iniciar o serviço.

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'.

Comentários muito úteis

Você precisa reinstalar o pacote pip após a alteração.

pip uninstall pyOpenSSL
pip install pyOpenSSL==16.2.0

Além disso, em qual sistema operacional você está?

Todos 18 comentários

alterar pyOpenSSL==16.0.0 em requirements.txt para pyOpenSSL==16.2.0 corrige isso.

troquei e continua com esse problema

Você precisa reinstalar o pacote pip após a alteração.

pip uninstall pyOpenSSL
pip install pyOpenSSL==16.2.0

Além disso, em qual sistema operacional você está?

Estou no Arch, fiz isso conforme solicitado, ainda assim:
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'

Eu também tentei instalar a versão da minha distro, pois alguém no AUR disse que isso resolveria. Até agora, todas as tentativas de alterar o pyopenssl falharam ao corrigir o problema.

Mesmo erro quando executo dev_setup.sh

Tente instalar a partir do Git, o AUR está desatualizado e claramente quebrado.

Eu tentei no git. Eu tentei o AUR depois de não conseguir fazer funcionar e pensei que outra pessoa tinha mais sorte

Eu também tenho esse problema na minha área de trabalho com o Arch Linux. Tenho o manjaro instalado no meu notebook e não tenho esse problema, pode ser algum tipo de problema de dependência que não está listado?

Acredito que possa ser uma incompatibilidade com a versão openSSL do sistema e a versão pyOpenSSL no mycroft virtualenv. Não 100% de certeza embora. Conforme declarado acima por @BoBeR182 acima, atualizar o pyOpenSSL é uma possível correção

Sim, eu tentei acima já. Até tentei reconstruir de novo depois de alterar o dep. Ainda o mesmo problema.

No meu raspberry Pi eu mudei pyopenssl para 17.0.0 e tive sucesso. Eu tive que excluir todo o virtualenv e executar novamente o dev_setup para obter um ambiente de trabalho e, em seguida, precisei atualizar alguns dos pacotes para colocar tudo em funcionamento =/

Mesmo problema para mim no Arch com 17.0.0 também ...

DEIXA PRA LÁ!
Excluir toda a pasta env em ~ e executar novamente o dev.setup fez com que funcionasse. Desculpe o barulho

Se esta é uma correção confirmada ainda?

Deveria ser. Eu só estou querendo saber se devemos aumentar para 16.2.0 ou todo o caminho para 17.0.0?

16.2.0 funcionou para mim depois de remover a pasta ~/.virtualenv, então sim, correção confirmada.

Eu não acho que precisamos ir até o 17.0.0

Ótimo, era isso que eu queria ouvir!

A atualização do pyOpenSSL para 16.2.0 corrigiu meu problema.
pip desinstalar pyOpenSSL
pip instalar pyOpenSSL==16.2.0

Eu também vi o erro AttributeError: 'module' object has no attribute 'SSL_ST_INIT' e sudo pip install pyOpenSSL==16.2.0 resolveu para mim!

+1 funciona para mim

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

tiagochiavericosta picture tiagochiavericosta  ·  6Comentários

el-tocino picture el-tocino  ·  4Comentários

InconsolableCellist picture InconsolableCellist  ·  8Comentários

tmajibon picture tmajibon  ·  9Comentários

WSLUser picture WSLUser  ·  9Comentários