我想将我的.py文件转换成.exe文件。为此,我使用的是auto-py-to-exe,但是当我将其转换时,不包括我的数据库。我可以启动我的应用程序,但是当我需要从数据库中获取数据的窗口中时,它不会显示。
pyinstaller -y -w --add-data "C:/Users/..../..../..../..../Base_SAV.db";"."
...
"C:/..../..../..../..../..../MyCatSAV_Final.py"
只要不需要访问数据库,我的应用程序就可以正常工作
答案 0 :(得分: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
这将完美工作。
答案 1 :(得分:-1)
我创建了一个项目,在这个项目中我创建了一个单独的 database.py 文件,并像这样将我的 database.py 引用到 main.py
**con = sqlite3.connect(database=r'ims.db ')
cur = con.cursor()**
但在创建 main.exe 后,我的数据库文件不起作用