No Ubuntu 17.04, desenvolvo um aplicativo Python 3 usando PyQt5 (que usa Qt5 5.8.0) e mysql (5.7.18). Tudo estava bem recentemente até hoje , agora recebo ao lançar:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
Isso é o que acontece se você não tiver feito anteriormente:
apt-get install libqt5sql5-mysql
mas eu fiz isso e tentei desinstalá-lo e reinstalá-lo com o mesmo resultado.
Correr locate libqsqlmysql
me mostra:
/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
está sem erro e não acho relevante.
O segundo, no entanto, é datado de 21 de junho de 2017, então parece ser o culpado. Se eu for: ldd /usr/local/lib/python3.5/dist-packages/PyQt5/Qt/plugins/sqldrivers/libqsqlmysql.so
, na saída anoto:
libmysqlclient.so.18 => not found
libssl.so.10 => not found
libcrypto.so.10 => not found
Estou certo, esse é o problema? Então é um problema do PyQt5, não do Qt5? Alguém pode sugerir como remediar? (Não tenho um estado antigo para o qual voltar.)
Bem, isso acabou sendo um problema
pip3
/ PyCharm :apt-get install python3-pyqt5
.apt-get install libqt5sql5-mysql
tinha instalado anteriormente/usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers/libqsqlmysql.so
, e estava tudo bem.apt-get install python3-pip
(tive sorte de me lembrar disso) e comecei a fazer algum tipo depip3 install pyqt5
bastidores./usr/local/lib/python3.5/dist-packages/PyQt5/Qt/plugins/sqldrivers/libqsqlmysql.so
, e como pode ser visto naldd
saída, deixou a área em um estado incompleto/inconsistente.pip3 uninstall pyqt5
removeu isso e me reverteu para uma instalação sem erros.Eu já havia conseguido evitar qualquer um
pip3
, instalando tudo com sucesso viaapt-get
. Essa experiência me deixou sem confiançapip3
em tudo, se pode simplesmente criar uma instalação errônea sem nenhuma mensagem.