我正在开发一个PyQT应用程序,并希望使用SQL数据库。发动机并不重要。我在我的系统中安装了一个工作的MySQL(我经常使用它),并且默认情况下在我的system32文件夹中也存在SQLite3 DLL,并且我还在qsqlite dll旁边放了一个副本。
但是当我打电话时
db = QtSql.QSqlDatabase.addDatabase("QSQLITE")
或
db = QtSql.QSqlDatabase.addDatabase("QMYSQL")
我得到的只是:
QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
根本没有司机。我该怎么办?提前谢谢。
答案 0 :(得分:4)
我使用PySide用Python 3.3开发应用程序。我也遇到了同样的问题,我有一个解决方法。
我发现如果在QtSql.QSqlDatabase.addDatabase('QSQLITE')之前调用QApplication(),则问题就消失了。
最后,我尝试使用此方法在addDatabase之前放置以下代码并解决问题
site_pack_path = site.getsitepackages()[1]
QtGui.QApplication.addLibraryPath('{0}\\PySide\\plugins'.format(site_pack_path))
PS。检查“sqldrivers”文件夹是否在“plugins”文件夹中
答案 1 :(得分:0)
我不会说英语。
我在Windows 10,Postgresql下使用Python 2.7,并在QT中开发gui,使用PyQt4和QtSql。并使用spyder。 (实际上,一切都包含在Python(x,y))
中, - )但这是简单的解决方案。 打开文件C:\ Python27 \ qt.conf,首先我在文件内部这行:
Prefix = C:/Python27/Lib/site-packages/PyQt4
Binaries = C:/Python27/Lib/site-packages/PyQt4
然后你添加下一行:
Plugins = C:/Python27/Lib/site-packages/PyQt4/plugins
Translations = C:/Python27/Lib/site-packages/PyQt4/translations
确保插件位于C:/ Python27 / Lib / site-packages / PyQt4 / plugins中。 然后关闭python并再次打开。一切顺利 完美。您在http://www.voidynullness.net/blog/2013/01/24/pyqt-database-driver-loading-issues-on-windows-after-installing-pyside/
找到了相同的答案