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



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

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

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

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

这将完美地工作。

我创建了一个项目,在这个项目中,我创建了一个单独的 database.py 文件,并将我的 database.py 引用到这样的 main.py

**con = sqlite3.connect(database=r'ims.db ')
cur = con.cursor()**

但是创建 main 后.exe我的数据库文件不起作用

最新更新