回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在开发一个Python工具,它使用带有<a href="https://sqlite.org/fts5.html" rel="nofollow noreferrer">FTS5</a>(全文搜索)的sqlite3虚拟表。我想知道如何从tarball(或任何其他方式)正确安装我的工具所需的要求,以便我可以打包,以便于携带。在</p>
<p>目前,我成功地安装了<a href="https://www.sqlite.org/src/tarball/sqlite.tar.gz?r=release" rel="nofollow noreferrer">latest release tarball of sqlite</a>。但是,当我执行以下操作时:</p>
<pre><code>python3 -c "import sqlite3; print(sqlite3.sqlite_version)"
# or
python2 -c "import sqlite3; print(sqlite3.sqlite_version)"
</code></pre>
<p>我得到<code>3.11.0</code>,而<code>sqlite3 --version</code>返回:<code>3.22.0 2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2alt1</code></p>
<p>系统版本sqlite3 3.22确实支持FTS5,就像我一样<code>pragma compile_options;</code>并得到:</p>
^{pr2}$
<p>但是,python版本使用<a href="https://stackoverflow.com/a/36663390/1051765">this script</a>返回以下内容:</p>
<pre><code>[(u'ENABLE_COLUMN_METADATA',), (u'ENABLE_DBSTAT_VTAB',), (u'ENABLE_FTS3',), (u'ENABLE_FTS3_PARENTHESIS',), (u'ENABLE_JSON1',), (u'ENABLE_LOAD_EXTENSION',), (u'ENABLE_RTREE',), (u'ENABLE_UNLOCK_NOTIFY',), (u'ENABLE_UPDATE_DELETE_LIMIT',), (u'HAVE_ISNAN',), (u'LIKE_DOESNT_MATCH_BLOBS',), (u'MAX_SCHEMA_RETRY=25',), (u'OMIT_LOOKASIDE',), (u'SECURE_DELETE',), (u'SOUNDEX',), (u'SYSTEM_MALLOC',), (u'TEMP_STORE=1',), (u'THREADSAFE=1',)]
</code></pre>
<p>因此,<strong>我的问题是</strong>:</p>
<ol>
<li>我有没有办法为我的应用程序制作一个linux便携包
在python和linux系统中都支持sqlite3fts5吗?在</li>
<li>有没有办法将python模块sqlite3链接到特定的
sqlite3路径?在</li>
</ol>
<p>我在Ubuntu16.04LTS上尝试了所有这些,但我也希望在CentOS 7上也能工作。在</p>
<p>事先非常感谢。在</p>
<p>关于我做的tarball安装的更多细节:</p>
<pre><code>wget "https://www.sqlite.org/src/tarball/sqlite.tar.gz?r=release" -O sqlite.tar.gz
tar -xzvf sqlite.tar.gz
cd sqlite
./configure --enable-fts5
make
sudo make install
</code></pre>