sqlite3扩展存储在哪里,以及如何在python 3中加载它们?

时间:2018-07-19 20:40:30

标签: python python-3.x sqlite

我正在尝试在Linux中的python 3.6中访问sqlite3中的json1扩展名。

我从这里看到: https://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.enable_load_extension

我可以跑步:

# Load the fulltext search extension
con.execute("select load_extension('./fts3.so')")

# alternatively you can load the extension using an API call:
# con.load_extension("./fts3.so")

因此,我认为类似的方法应该可以实现:

con.execute("select load_extension('./json1.so')")

如果我可以找到那个地方。但是我在sqlite3源代码中找不到json1.so。

我在几个地方寻找答案:

第一

Python - SQLite JSON1 load extension

gcc -g -fPIC -dynamiclib sqlite-src-3140100/ext/misc/json1.c -o json1

看起来不错,但是sqlite的来源不再包含/ ext /或/ ext / misc /目录,因此我自己不能编译此文件。

我通过以下方式下载:

curl -O https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz tar -xvzf sqlite-autoconf-3240000.tar.gz

第二

http://charlesleifer.com/blog/using-the-sqlite-json1-and-fts5-extensions-with-python/

我尝试了这种方法,并开始看起来不错,但是在重新编译时将自定义sqlite3调用到python包装器中的步骤使用了不支持python3的库:

pysqlite is not supported on Python 3. When using Python 3, use the sqlite3 module from the standard library.

0 个答案:

没有答案