Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x SQLite3 db未包含在编译目录pyinstaller中_Python 3.x_Sqlite_Pyinstaller - Fatal编程技术网

Python 3.x SQLite3 db未包含在编译目录pyinstaller中

Python 3.x SQLite3 db未包含在编译目录pyinstaller中,python-3.x,sqlite,pyinstaller,Python 3.x,Sqlite,Pyinstaller,这里是我的文件,我在一个文件夹中准备编译 使用pyinstaller后,我现在已完成编译文件夹 但是,正如您所看到的,codes.db文件不在预期的文件夹中 那是直到我点击.exe启动…然后突然.exe吐出一个空的codes.db文件,显示0kb并且没有表格。此时,我假设由于codes.db缺少.exe创建了一个同名的空.db 如何确保我的sqlite3数据库包含在编译中?它还需要有读/写功能 编辑 我正在使用Windows 10和Visual Studio 2017。我没有看到您的.spe

这里是我的文件,我在一个文件夹中准备编译

使用pyinstaller后,我现在已完成编译文件夹

但是,正如您所看到的,codes.db文件不在预期的文件夹中

那是直到我点击
.exe
启动…然后突然
.exe
吐出一个空的
codes.db
文件,显示0kb并且没有表格。此时,我假设由于
codes.db
缺少
.exe
创建了一个同名的空
.db

如何确保我的sqlite3数据库包含在编译中?它还需要有读/写功能

编辑


我正在使用Windows 10和Visual Studio 2017。

我没有看到您的.spec文件。运行

pyinstaller file.py
生成
文件.spec
文件。此文件应由用户编辑以满足其需要。我发现的一个简单的方法是将数据库放在一个文件夹中,然后添加该文件夹,将分析中的数据设置为

[
  ( './db/*', 'db' ),
]

您可以在此处查看我的完整答案:

我没有看到您的.spec文件。运行

pyinstaller file.py
生成
文件.spec
文件。此文件应由用户编辑以满足其需要。我发现的一个简单的方法是将数据库放在一个文件夹中,然后添加该文件夹,将分析中的数据设置为

[
  ( './db/*', 'db' ),
]

您可以在此处查看我的完整答案:

如果您对生成问题有疑问,通常需要指定您正在使用的生成环境/IDE。将生成环境和IDE添加到我的编辑中。如果这是一个预先存在的数据库,则需要在生成后将其复制到输出目录。如果文件属性资源管理器中没有“复制到输出文件夹”选项,那么您需要定义生成后事件并自己复制它。它确实是一个预先存在的数据库。所以我只需要进行编译,然后手动将db复制到输出目录?是的,您可以手动执行,或者使用我提到的两种方法之一,让VS为您执行。如果您对构建问题有疑问,通常需要指定正在使用的生成环境/IDE。已将生成环境和IDE添加到“我的编辑”中。如果这是预先存在的数据库,则需要在生成后将其复制到输出目录。如果文件属性资源管理器中没有“复制到输出文件夹”选项,那么您需要定义生成后事件并自己复制它。它确实是一个预先存在的数据库。所以我只需要进行编译,然后手动将db复制到输出目录?是的,您可以手动执行,或者使用我提到的两种方法之一,让VS为您执行。