Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Разработка GUI > py2exe и PySide.QSql


Автор: Paher 9.8.2015, 18:53
Здравствуйте, уважаемые!

Пытаюсь получить сборку Qt приложения(используется PySide) c помощью py2exe. Приложение использует базу данных sqlite, и, насколько я вижу, только это вызывает проблемы при запуске получившегося EXE.  Появляются ошибки

QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
QSqlQuery::exec: database not open

В инете советуют в таких случаях делать подпапку sqldrivers и закидывать в нее  qsqlite4.dll, однако, это мне не помогло, ошибка не уходит. Прошу помощи у знающих людей

Автор: Romikgy 10.8.2015, 08:53
а если рядом с ехе положить ...

Автор: Paher 10.8.2015, 16:39
Это я первым делом попробовал. Не прокатило

Автор: Paher 12.8.2015, 02:42
Все страньше и страньше...

qsqlite4.dll закидывал через 

Код

data_files=[('sqldrivers', ['C:/Qt/4.8.5/plugins/sqldrivers/qsqlite4.dll'])                  ],


 в setup.py. Каким-то неведомым мне образом этот механизм портил dll при копировании. Сделал копирование вручную - все сразу заработало. Теряюсь в догадках, на что же я убил три дня 

Автор: Paher 18.8.2015, 01:24
Решение нашлось. 

Файл  qsqlite4.dll присутствует в системе в 2 экземплярах

 C:\Qt\4.8.5\plugins\sqldrivers\qsqlite4.dll
и
C:\Python34\Lib\site-packages\PySide\plugins\sqldrivers\qsqlite4.dll

в моем случае надо было копировать не из установки Qt, а из установки PySide


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)