【问题标题】:Using SQLite's FTS3/4 with Python 3在 Python 3 中使用 SQLite 的 FTS3/4
【发布时间】:2015-05-05 17:56:29
【问题描述】:

我一直在使用 python 的 Flask 框架开发 peewee 的示例博客应用程序。 (见https://github.com/coleifer/peewee,里面的例子>博客)。

我已经安装了所有要求,但是当我尝试运行该应用程序时,我不断得到

no such module : FTS4

错误。

您认为我为什么会收到此错误? 这是否意味着标准的 Python3 sqlite3 模块没有 FTS 模块?

如果是这样,有没有办法为 Python 3.4 启用(安装)FTS3/FTS4 模块?

【问题讨论】:

    标签: python sqlite


    【解决方案1】:

    你可以打开一个 sqlite shell 并运行pragma compile_options 来查看你的 SQLite 有什么。 AFAIK 这与 Python3 无关。

    这是我的:

    sqlite> pragma compile_options;
    ENABLE_COLUMN_METADATA
    ENABLE_FTS3
    ENABLE_RTREE
    ENABLE_UNLOCK_NOTIFY
    SECURE_DELETE
    SYSTEM_MALLOC
    THREADSAFE=1
    

    如果你发现你没有 FTS 扩展,你可能需要重新编译 SQLite。另请查看文档:

    http://sqlite.org/fts3.html

    【讨论】:

    • 感谢您的回答。我下载了 sqlite3 shell.exe 并检查了选项。我启用了 FTS3。 我只是不明白问题出在哪里。
    • 你在shell中运行的sqlite和你在Python中找到的sqlite不一样; Python 包含自己的 DLL,默认情况下,Windows 上不包括 fts3 或 fts4,至少从 Python 2.7.11 开始。
    • 我不认为你是正确的。 Python 动态链接您已安装的 SQLite 库。
    猜你喜欢
    • 2017-05-05
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    相关资源
    最近更新 更多