嗨,我尝试运行模糊匹配器代码,并弹出以下错误:
OperationalError: no such module: fts4
有什么建议么?提前致谢
编辑:我已经尝试从网站下载 sqlite zip 并将其保存在 DLL 文件中,但它仍然无法正常工作。我必须以某种方式激活它吗?
我正在使用 Anaconda3 64 位。
谢谢
嗨,我尝试运行模糊匹配器代码,并弹出以下错误:
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
您可以将下载的 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 软件包并尝试重复该过程。
正如@Ahmed 和@Jeremy 在上一个答案中提到的,
确认 DLL 文件已添加到正确的位置
但是,请确保它确实是正确的位置。例如,如果您在虚拟环境中工作,则位置不是 C:\ProgramData\Anaconda3\DLLs
.
检查python的安装位置以找到正确的位置。