繁体   English   中英

如何使用我的 Python3 fbs package package 一个 Sqlite3 数据库?

[英]How do I package an Sqlite3 database with my Python3 fbs package?

我正在使用 FBS 构建 Python 应用程序,但其中一部分依赖于 SQLite3 数据库。 如果没有找到这个数据库,我有代码来创建这个数据库,使用 try-catch 块。

当我编译后尝试运行它时,它不仅找不到预先存在的SQLite3文件,而且也不会创建它。 它不显示任何错误消息。

如果文件不存在,我尝试使用以下代码创建文件:

try:
    self.connection = sqlite3.connect(path)
    self.cursor = self.connection.cursor()
except:
    if not os.path.exists(path):
        # Try and make the .config directory
        try:
            os.makedirs(".config")
        except OSError as e:
            if e.errno != errno.EEXIST:
                raise

        # Create the datastore, and close it
        f = open(path, "w+")
        f.close()
        # And try connect to database again
        return self.__connect(path)
    else:
        print(f"No database exists, and could not create one.\nPlease create file in app directory called: {path}\nThen restart application.")
        raise

该代码可以在 dev 中找到,但是一旦我将其编译到 Mac 应用程序中,它就会拒绝查找或创建数据库。

固定的。 如果有人有类似的问题,请使用内置的appctxt.get_resource(file_path)方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM