如何创建一个包含 sqlite 数据库的 python exe 文件?

How can I create a python exe file with a sqlite database incorporated?

我在 python 中编写了一个使用 sqlite 数据库的代码。现在我需要向其他人发送一个 .exe 文件,他们必须 运行 正确地只使用 .exe 文件而不使用 .db 文件。但我不知道如何创建包含 sqlite 数据库的可执行文件。有帮助吗?

您可以使用安装程序将 Python 脚本转换为 Windows .exe 文件。他们中的大多数都能够将文件添加到捆绑包中。

因此使用 PyInstaller,您可以:

  • 构建时:

    • 将 sqlite 数据库(.db 文件)转储到 sql 脚本
    • 将脚本添加到 spec 文件中 Analysys 的 data 子字段中的 PyInstaller 包中
    • 将所有内容转换为单个可执行文件
  • 在 运行 时间:

    • PyInstaller 加载程序会将包提取到一个临时文件夹中

    • python代码可以获取sys._MEIPASS

      中那个文件夹的路径
    • 从那时起,它知道转储的路径并可以将其加载到内存数据库中:

        import sqlite3
        ...
        con = sqlite3.connect(':memory:')
        con.executescript(open(path_to_dump_file).read())
      
    • con 现在可以访问数据库的内容...

这仅提供有关操作方法的提示,但详细的方法实际上取决于安装程序和您的应用程序。