Я не могу включить свою базу данных в файл .exe - PullRequest
0 голосов
/ 26 апреля 2019

Я хочу преобразовать мои .py файлы в .exe файл. Для этого я использую auto-py-to-exe, но когда я конвертирую его, моя база данных не включается. Я могу запустить свое приложение, но когда я нахожусь в окне, которому нужны данные из моей базы данных, оно не отображается.

pyinstaller -y -w --add-data "C:/Users/..../..../..../..../Base_SAV.db";"." 
...
"C:/..../..../..../..../..../MyCatSAV_Final.py"

Мое приложение работает, если ему не нужен доступ к базе данных

1 Ответ

1 голос
/ 26 апреля 2019

Вам не нужно включать базу данных. sqlite3 база данных - это обычный файл, который создается в текущей директории вашего скрипта. Не существует «стандартного места» для базы данных sqlite3.

Предполагается, что вы создаете свою базу данных следующим образом:

conn = sqlite3.connect("Base_SAV.db")
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS(--------------)")
con.commit()
con.close()

и вы компилируете его в executable, вам не нужно включать database, созданный вами в вашем рабочем каталоге. Как только вы запустите исполняемый файл, база данных будет создана в той папке, которая у вас есть exe файл.

Итак, pyinstaller команда для его преобразования в исполняемый файл должна быть:

pyinstaller --windowed --onfile    MyCatSAV_Final.py

, который будет отлично работать.

...