Cx_freeze: QODBC-Treiber nicht geladen

Meine python-Anwendung sieht aus wie:

Test.py

from PyQt4 import QtCore from PyQt4 import QtGui from PyQt4 import QtSql import sys import atexit if __name__ == "__main__": app = QtGui.QApplication(sys.argv) db = QtSql.QSqlDatabase.addDatabase('QODBC') sys.exit(app.exec_()) 

Wenn ich diese Anwendung laufe, funktioniert alles gut. Allerdings, wenn ich eine ausführbare Datei mit cx_freeze erstellen, bekomme ich immer die folgende Fehlermeldung:

QSqlDatabase: QODBC driver not loaded

QSqlDatabase: available drivers:

Ich verwende den folgenden Befehl, um die ausführbare Datei zu erstellen:

C:\Python27\Scripts\cxfreeze.bat test.py --target-dir C:\Test --include-path="C:\Python27\Lib\site-packages\PyQt4"

Wenn ich in C:\Test schaue (der Ort, an dem cx_freeze die ausführbare Datei erstellt hat), sehe ich eine Reihe von * .dll-Dateien mit dem Wort 'sql' darin (qsqlodbc4.dll, QtSql4.dll …)

In der Vergangenheit habe ich ein paar PyQT-Anwendungen mit cx_freeze erstellt und es hat immer gut funktioniert. Doch zusammen mit dem QtSql-Modul bekomme ich immer die Fehlermeldung oben.

Mein Betriebssystem: Windows 7

Hast du irgendwelche Ideen, wie man das Problem lösen kann?

Bearbeiten: Okay, ich habe es bekommen Ich habe den Inhalt von PyQt4\plugins\sqldrivers auf C:\Test\sqldrivers und jetzt funktioniert es.

Mit freundlichen Grüßen

Bernhard

    One Solution collect form web for “Cx_freeze: QODBC-Treiber nicht geladen”

    Diese Woks nur in Ihrem Entwickler-Maschine, aber wenn Sie eine exe-Datei erstellen und diese Datei in anderen Rechnern ausführen, funktionierte es nicht.

    Ich verwende pyinstaller und löse das Problem.

    benutz nur:

     pyinstaller --onefile --windowed myscript.py 
    Python ist die beste Programmiersprache der Welt.