2010-09-29 59 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應用程序開始正常工作。