2010-09-29 67 views
12

默认情况下,FTS3/FTS4在Python中不起作用(最高为2.7)。我得到的错误:如何在Windows上使用python2.7设置FTS3/FTS4

sqlite3.OperationalError: no such module: fts3

sqlite3.OperationalError: no such module: fts4

这又如何解决?

+0

我发现这在谷歌和您的建议,以取代python/dll文件夹中的sqlite.dll工作在我的情况。我为此添加了一个答案,以防其他人发现此问题。 – MrValdez 2010-12-26 05:06:27

回答

15
  1. 下载最新的sql dll

  2. 在你的Python/DLL文件替换sqlite.dll。

+0

谢谢,简单得多。 – Naveen 2010-12-27 13:14:51

+0

谢谢,这也适用于FTS4:D – styfle 2011-12-14 23:01:13

+0

@styfle,如果此答案适用于FTS4,那么您是否可以编辑问题以反映此问题?这对未来的人会有所帮助。谢谢。 – MrValdez 2011-12-15 04:41:27

2

没关系。
从源代码安装pysqlite非常简单且足够。

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

0

纳文说什么,但是=>

对于Windows安装:

虽然对于程序包安装运行setup.py ... Python 2.7版搜索已安装的Visual Studio 2008中你就可以欺骗通过设置来使用Visual Studio的Python

SET VS90COMNTOOLS=%VS100COMNTOOLS%

在调用setup.py之前。

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虚表的到来。从site 提示,我下载并将sqlite预编译的Windows Binaries从here复制到我的Python DLL目录(我备份了原始的sqlite.dll)。我的Python应用程序开始正常工作。

相关问题