Build a .exe file from .py with SQLite database

隐身守侯 提交于 2019-12-24 00:37:52

问题


Program makes appointments and places them into schedule which are written in QsQLite database. The program runs from .py but I need it to be in .exe. I have used cx_Freeze to create an .exe file, but the program does not generate the SQLite database. So here is my setup file:

from cx_Freeze import setup, Executable
import os
import sys

os.environ['TCL_LIBRARY'] = r'C:\Program Files\Python35\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Program Files\Python35\tcl\tk8.6'


build_exe_options = {"packages": [
  'os','sys','sqlite3'], 'include_files': [os.path.join(sys.base_prefix, 'DLLs', 'sqlite3.dll'), 'main.py','util.py','data.db']}

setup(
    name = "Eclients",
    version = "0.1",
    options = {"build_exe": build_exe_options},
    executables = [Executable("main.py")]
)

But database can't be opened

So,how it can be solved?


回答1:


You are not including your SQLite database file in the include_files statement. See the documentation: http://cx-freeze.readthedocs.io/en/latest/faq.html#using-data-files

A better solution, however, would be to provide an option to create the missing database file when needed. This would allow the database's SCHEMA be defined within your script, and be kept consistent with your programme logic. If it needs populating with data, this might however be a less optimal solution.




回答2:


Solved this problem by copying the whole 'sqldrivers' folder from C:\Program Files\Python35\Lib\site-packages\PyQt5\pluginsto main.exe directory.



来源:https://stackoverflow.com/questions/47013889/build-a-exe-file-from-py-with-sqlite-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!