Search code examples
sqlitepy2app

Py2app does not include the Sqlite driver- "Database error: Driver not loaded Driver not loaded"


I am having the same issue described in this post on the py2app mailing list.

I have a python application that uses a sqlite database. On my machine, which has all the dependencies installed, there are no issues. However, when I bundle the application with py2app, clicking a menu that causes the database to be accessed results in this error:

Database error: Driver not loaded Driver not loaded

For the Windows installer, the files in \Qt\version\plugins\sqldrivers\*.* can be copied to \myApp\sqldrivers\*

The same files on the Mac can be found in /opt/local/share/qt4/plugins/sqldrivers (installed via Macports).

However, copying the sqldrivers directory to my application's Resources or Frameworks directories still results in the same error.

How can I add sqlite support into my application that is built using py2app?


Solution

  • Turns out the pyside recipe does have a way to specify which qt-plugins you need...

        options=dict(py2app={
                             'argv_emulation': True,
                             'qt_plugins' : "sqldrivers",
                             }
                     ),
    

    This puts all the sqldrivers into the right directory and setups qt.conf correctly.