13

默认情况下,FTS3/FTS4 在 python 中不起作用(最高 2.7)。我得到错误:

sqlite3.OperationalError:没有这样的模块:fts3
或者

sqlite3.OperationalError:没有这样的模块:fts4

如何解决?

4

4 回答 4

16
  1. 下载最新的sql dll

  2. 替换 python/dll 文件夹中的 sqlite.dll。

于 2010-12-26T05:09:39.347 回答
2

没关系。
从源代码安装 pysqlite 既简单又足够。

python setup.py build_static 安装
从源代码安装时默认启用 fts3。

于 2010-09-29T22:39:05.100 回答
0

Naveen 说了什么,但是 =>

对于 Windows 安装:

在运行 setup.py 进行包安装时... Python 2.7 搜索已安装的 Visual Studio 2008。您可以通过设置欺骗 Python 使用 Visual Studio

设置 VS90COMNTOOLS=%VS100COMNTOOLS%

在调用 setup.py 之前。

于 2012-09-11T14:36:41.037 回答
0

我的回答与 Python 2.7 无关。但希望它对使用 Python 3.5 的用户有所帮助。我正在使用 sqlite 全文搜索工具。但是,当我尝试插入 FTS3 虚拟表时

def insertdata(conn, parmvlu):

    sql = ''' INSERT INTO slangs(slang,polarity)
              VALUES(?,?) '''
    cur = conn.cursor()
    cur.execute(sql, parmvlu)
    return cur.lastrowid

我收到一个错误 -

sqlite3.OperationalError: no such module: fts3

FTS4 虚拟表也出现了类似的错误。从该站点获得提示,我从这里 下载了用于 Windows 的 sqlite 预编译二进制文件并将其复制 到我的 Python DLL 目录中(我备份了原始的 sqlite.dll)。我的 Python 应用程序开始正常工作。

于 2017-05-20T14:32:10.073 回答