我无法将我的数据库包含到.exe文件中

问题描述 投票:-2回答:1

我想将.py文件转换为.exe文件。为此,我使用auto-py-to-exe,但是当我转换它时,我的数据库不包括在内。我可以启动我的应用程序,但是当我在一个需要来自我的数据库的数据的窗口时,它不会显示。

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

我的应用程序可以工作,只要它不需要访问数据库

python database tkinter sqlite exe
1个回答
1
投票

您不必包含数据库。 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

这将完美地工作。

© www.soinside.com 2019 - 2024. All rights reserved.