默认情况下(直到2.7版本),Python不支持FTS3/FTS4。运行时会出现以下错误:
sqlite3.OperationalError: no such module: fts3或者
sqlite3.OperationalError: no such module: fts4
如何解决这个问题呢?
默认情况下(直到2.7版本),Python不支持FTS3/FTS4。运行时会出现以下错误:
sqlite3.OperationalError: no such module: fts3或者
sqlite3.OperationalError: no such module: fts4
如何解决这个问题呢?
下载最新的SQL DLL。
将sqlite.dll替换为Python / dll文件夹中的文件。
没关系。
从源代码安装pysqlite很容易且足够。
python setup.py build_static install从源代码安装时,默认启用了fts3。
就像Naveen所说的一样,但是 =>
对于Windows安装:
在运行setup.py进行软件包安装时... Python 2.7会搜索已安装的Visual Studio 2008。您可以通过设置
SET VS90COMNTOOLS=%VS100COMNTOOLS%
在调用setup.py之前欺骗Python使用Visual Studio。
我的回答与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 虚拟表中。从 site 中得到启示,我从 here 下载并复制了 Windows 平台的预编译 SQLite 二进制文件到我的 Python DLL 目录下(我备份了原始的 sqlite.dll)。我的 Python 应用程序开始正常工作。