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

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

Войти через центр авторизации
Похожие вопросы