[PyQt] no SQL Drivers available (Gentoo-Linux)
Hans-Peter Jansen
hpj at urpla.net
Thu Jan 31 20:26:09 GMT 2008
Am Donnerstag, 31. Januar 2008 schrieb Ulf Röttger:
> Hello Phil, hello Mailinglist,
> I have gentoo-linux (quite up to date) with PyQt 4.3.3 and Qt 4.3.3 and
> all with Python 2.4 (that's an Gentoo issue) x86_32 platform.
>
> Gentoo compiles QtSQL-Drivers as plugins only, so I have on the Qt side
> sqlite and postgresql:
> nergal at kutha /usr/lib/qt4/plugins/sqldrivers $ ls
> libqsqlite.so libqsqlite2.so libqsqlpsql.so
All fine.
> This is the last idea I have got:
> that they need to be compiled as:
> -qt-sql-sqlite instead of -plugin-sql-sqlite
Nope. If Qt can use them as plugins, PyQt can do as well!
> but it would mean to manipulate a lot of ebuild-stuff from Gentoo to get
> this to work, which I do hesitate to do, 'cos other software I need rely
> upon a working qt-environment.
>
> PyQt compiles with QtSQL:
> nergal at kutha /usr/lib/python2.4/site-packages/PyQt4 $ ls
> Qsci.so QtDesigner.so QtScript.so QtXml.so elementtree
> uic Qt.so QtGui.so >>> QtSql.so <<< __init__.py
> pyqtconfig.py QtAssistant.so QtNetwork.so QtSvg.so __init__.pyc
> pyqtconfig.pyc QtCore.so QtOpenGL.so QtTest.so __init__.pyo
> pyqtconfig.pyo
All is well.
> I can access databases directly from Python or with non-python Qt
> applications, so I assume there is no malfunction to be expected.
>
> Even the example from PyQt4 does not work:
>
> nergal at kutha ~/Python/PyQt4/examples/sql $ python
> Python 2.4.4 (#1, Oct 26 2007, 16:35:26)
> [GCC 4.1.2 (Gentoo 4.1.2)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
Standard beginners error no. 1 applies:
I bet, you forgot to create QApplication object - did you?
> >>> from connection import createConnection
> >>> createConnection()
>
> QSqlDatabase: QSQLITE driver not loaded
> QSqlDatabase: available drivers:
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> File "connection.py", line 33, in createConnection
> QtGui.QMessageBox.critical(None, QtGui.qApp.tr("Cannot open
> database"), RuntimeError: underlying C/C++ object has been deleted
Pete
More information about the PyQt
mailing list