[英]OperationalError: no such module: fts4
您好,我嘗試運行 fuzzymatcher 代碼並彈出以下錯誤:
OperationalError: no such module: fts4
有什么建議么? 提前致謝
編輯:我已經嘗試從網站下載 sqlite zip 並將其保存在 DLL 文件中,但它仍然不起作用。 我必須以某種方式激活它嗎?
我使用的是 Anaconda3 64 位。
謝謝
確認 DLL 文件已添加到正確位置; 如果您使用的是 Windows 它將是C:\ProgramData\Anaconda3\DLLs
。
你可以嘗試加載擴展:
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
conn.enable_load_extension(True)
for (val,) in cur.execute('pragma compile_options'):
print (val)
它將顯示一些類似於以下的結果:
COMPILER=msvc-1500
ENABLE_BYTECODE_VTAB
ENABLE_COLUMN_METADATA
ENABLE_DBSTAT_VTAB
ENABLE_FTS3
ENABLE_FTS4
ENABLE_FTS5
ENABLE_GEOPOLY
ENABLE_JSON1
ENABLE_RTREE
ENABLE_STMTVTAB
MAX_TRIGGER_DEPTH=100
TEMP_STORE=1
THREADSAFE=1
正如@Ahmed 和@Jeremy 在上一個答案中提到的,
確認 DLL 文件已添加到正確位置
但是,請確保它確實是正確的位置。 例如,如果您在虛擬環境中工作,則該位置不是C:\ProgramData\Anaconda3\DLLs
。
檢查 python 的安裝位置以找到正確的位置。
您可以將下載的 sqlite 文件復制到 C:\Users\ (usernamefolder)\anaconda3\DLLs 中,並在 jupyter notebook 中使用以下語法檢查啟用的擴展。
import sqlite3
conn = sqlite3.connect(':memory:')
cur = conn.cursor()
conn.enable_load_extension(True)
for (val,) in cur.execute('pragma compile_options'):
print (val)
這將給出已啟用的擴展列表,FTS-4 將是其中之一。 如果您嘗試過但仍未啟用,您可以卸載並重新安裝 anaconda package 並嘗試重復該過程。
這對我有用
使用下面的命令在 anacoda 提示符下安裝它
conda 安裝-c conda-forge sqlite-fts4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.