Pyqt5 mysql driver não encontrado

1

No Ubuntu 17.04 eu desenvolvo uma aplicação Python 3 usando PyQt5 (que usa Qt5 5.8.0) e mysql (5.7.18). Tudo tem sido bem recentemente até hoje , agora eu começo ao lançar:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

Isto é o que acontece se você não já fez um:

apt-get install libqt5sql5-mysql

mas eu fiz isso e tentei desinstalá-lo e reinstalá-lo com o mesmo resultado.

A execução de locate libqsqlmysql mostra-me:

/usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers/libqsqlmysql.so
/usr/local/lib/python3.5/dist-packages/PyQt5/Qt/plugins/sqldrivers/libqsqlmysql.so

O primeiro deles é datado de 9 de fevereiro de 2017, acredito que seja Qt5 e não PyQt5, ldd s sem erro, e eu não acho que seja relevante.

O segundo, no entanto, é datado de 21 de junho de 2017, então parece o culpado. Se eu for: ldd /usr/local/lib/python3.5/dist-packages/PyQt5/Qt/plugins/sqldrivers/libqsqlmysql.so , na saída eu anotei:

libmysqlclient.so.18 => not found
libssl.so.10 => not found
libcrypto.so.10 => not found

Estou certo de que esse é o problema? Então é um problema do PyQt5, não um do Qt5? Alguém pode sugerir como remediar? (Eu não tenho um estado antigo para reverter).

    
por JonBrave 26.06.2017 / 19:04

1 resposta

1

Bem, isso se tornou um problema de pip3 / PyCharm :

  • Eu já fiz apt-get install python3-pyqt5 .
  • O apt-get install libqt5sql5-mysql instalou anteriormente /usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers/libqsqlmysql.so e tudo correu bem.
  • Então o PyCharm me fez fazer apt-get install python3-pip (tive sorte por ter me lembrado disso) e comecei a fazer algum tipo de pip3 install pyqt5 nos bastidores.
  • Isso criou seu próprio /usr/local/lib/python3.5/dist-packages/PyQt5/Qt/plugins/sqldrivers/libqsqlmysql.so e, como pode ser visto na saída ldd , a área ficou incompleta / inconsistente.
  • pip3 uninstall pyqt5 removeu isso e me reverteu para uma instalação sem erros.

Eu já havia conseguido evitar qualquer pip3 , instalando tudo com êxito via apt-get . Esta experiência me deixou não confiando em pip3 , se ele puder simplesmente criar uma instalação errada sem nenhuma mensagem.

    
por JonBrave 30.06.2017 / 10:29