You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让搭载MariaDB的Tkinter Python应用无需预装数据库即可在其他电脑运行

Python搭配MariaDB桌面应用无安装运行解决方案

核心最优方案:替换服务型数据库MariaDB为嵌入式SQLite数据库

该方案完全不需要在目标设备安装任何数据库服务,所有数据存储在单个独立数据库文件中,可直接和代码一起打包为单EXE文件,适配Win10/Linux双环境,改造成本最低。

具体操作步骤

  • 步骤1:迁移现有MariaDB数据到SQLite
    先将MariaDB中存储的燃油舱容表等所有业务数据导出为CSV或者通用SQL脚本,新建一个SQLite数据库文件(命名示例:fuel_data.db),将导出的数据导入该文件即可。
  • 步骤2:替换代码中的数据库依赖
    删除原有mariadb相关导入,改用Python内置标准库sqlite3,无需额外安装依赖:
    # 替换原有 import mariadb 为以下内容
    import sqlite3
    # 数据库连接代码同步修改,原有mariadb连接的账号/主机/端口配置全部删除,直接关联本地db文件路径即可
    conn = sqlite3.connect('fuel_data.db')
    cursor = conn.cursor()
    
    增删改查的游标操作、SQL语法95%以上和原有MariaDB兼容,仅需调整少量特殊语法(如自增字段、日期函数等小差异)即可正常运行。
  • 步骤3:打包为Windows可运行EXE
    使用PyInstaller完成打包,操作命令如下:
    # 先安装PyInstaller:pip install pyinstaller
    # Windows环境下打包命令
    pyinstaller --onefile --windowed --add-data "fuel_data.db;." --add-data "insert_in_db.py;." --add-data "db_commands_calc.py;." 你的主脚本文件名.py
    
    打包完成后,生成的EXE文件存放在dist目录下,直接拷贝到Win10设备双击即可运行,不需要预装任何环境和数据库。

注意事项

如果你的应用需要支持修改、新增数据库内容,建议不要把db文件打包进EXE内部,改为第一次运行时自动将初始db文件释放到EXE同级目录,后续修改的数据可以持久化保存,避免重启应用后数据丢失。

备选方案(不替换MariaDB的情况)

如果不想修改现有代码,可将MariaDB便携版和脚本一起打包,启动应用时自动拉起临时MariaDB服务,退出时自动关闭服务。该方案改造成本低,但打包后体积大、启动速度慢,且容易出现Win10权限拦截问题,优先级低于SQLite替换方案。

内容的提问来源于stack exchange,提问作者Neo Matrix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 05:18:03