簡體   English   中英

OperationalError:沒有這樣的模塊:fts4

[英]OperationalError: no such module: fts4

您好,我嘗試運行 fuzzymatcher 代碼並彈出以下錯誤:

OperationalError: no such module: fts4

有什么建議么? 提前致謝

編輯:我已經嘗試從網站下載 sqlite zip 並將其保存在 DLL 文件中,但它仍然不起作用。 我必須以某種方式激活它嗎?

我使用的是 Anaconda3 64 位。

謝謝

  1. 確認 DLL 文件已添加到正確位置; 如果您使用的是 Windows 它將是C:\ProgramData\Anaconda3\DLLs

  2. 你可以嘗試加載擴展:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM