@AirronBark

Почему в .exe файле программы (Pyqt5) не исполняются команды к sqlite3?

Написал программу на Pyqt5 с использованием базы данных sqlite3, но когда я ее упаковываю в .exe формат с помощью py2exe то окна связанные с базой данных не открываются, просто программа крашится.
В питоновском файле все работает отлично.
Таблица это сама есть, базу данных я перебросил в корень с исполняемым файлом .
Traceback (most recent call last):
  File "Main_app_V0.9.py", line 892, in <module>
  File "Main_app_V0.9.py", line 886, in application
  File "Main_app_V0.9.py", line 27, in __init__
  File "db_connection.pyc", line 56, in delite_save_1
sqlite3.OperationalError: no such table: savedata_1


Это setap:

from setuptools import setup
import platform
from glob import glob


SETUP_DICT = {

    'data_files': (
        ('', glob(r'C:\Windows\SYSTEM32\msvcp100.dll')),
        ('', glob(r'C:\Windows\SYSTEM32\msvcr100.dll')),
        ('platforms', glob(r'C:\Program Files (x86)\Python38-32\Lib\site-packages\PyQt5\Qt\plugins\platforms\qwindows.dll')),
        ('images', ['icons\attantion.png']),
        ('sqldrivers', glob('C:\Program Files (x86)\Python38-32\Lib\site-packages\PyQt5\Qt\plugins\sqldrivers\qsqlite.dll')),
    ),
    'windows': [{'script': 'Main_app_V0.9.py'}],
    'options': {
        'py2exe': {
            'includes': ["lxml._elementpath", "PyQt5.QtGui","PyQt5.QtWidgets","PyQt5.QtCore", "PyQt5.QtCore","db_connection", "config"],
        },
    }
}

if platform.system() == 'Windows':
    import py2exe
    SETUP_DICT['windows'] = [{
        'script': 'Main_app_V0.9.py',
        'icon_resources': [(0, r'icon.ico')]
    }]
    SETUP_DICT['zipfile'] = None

setup(**SETUP_DICT)
  • Вопрос задан
  • 216 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
> Таблица это сама есть, базу данных я перебросил в корень с исполняемым файлом.
Т.е. ты не пытаешься запаковать БД, так?
А ты уверен, что скрипт её находит? Указываешь полный путь до файла с БД? Или как всегда, относительный, и авось текущая рабочая директория будет правильной?
Просто некоторые py -> exe упаковщики при запуске экзешника распаковывают скрипт во временный каталог, и работают оттуда... а тогда файл БД окажется не рядом со скриптом. Не помню, делает ли так py2exe, выясни.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы