首页 > 解决方案 > 我无法将我的数据库包含到 .exe 文件中

问题描述

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

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

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

标签: pythondatabasetkintersqliteexe

解决方案


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

这将完美地工作。


推荐阅读