2

嗨,我尝试运行模糊匹配器代码,并弹出以下错误:

OperationalError: no such module: fts4

有什么建议么?提前致谢

编辑:我已经尝试从网站下载 sqlite zip 并将其保存在 DLL 文件中,但它仍然无法正常工作。我必须以某种方式激活它吗?

我正在使用 Anaconda3 64 位。

谢谢

4

3 回答 3

1
  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
于 2020-06-16T18:03:25.747 回答
0

您可以将下载的 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 软件包并尝试重复该过程。

于 2022-01-10T09:26:06.253 回答
0

正如@Ahmed 和@Jeremy 在上一个答案中提到的,

确认 DLL 文件已添加到正确的位置

但是,请确保它确实是正确的位置。例如,如果您在虚拟环境中工作,则位置不是 C:\ProgramData\Anaconda3\DLLs.

检查python的安装位置以找到正确的位置。

于 2022-01-05T12:32:43.460 回答