- ベストアンサー
Python 2.7で、SQLite3の全文検索
結論だけでいいです。 Python 2.7で、SQLite3のFTSを使える □YES/□NO 当然使えると思って前準備まで全部行ったのに、実際に登録しようとしたら出来ず調べると、ソースからコンパイルとか何かを介するとか何かをダウンローダするとか... これでは私的にはNOです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 > Knoppix上での解決方法も教えて下さい puppy linux上の環境では、python 2.7.3でも前述のサンプルソースのコメントアウトだけで動作しました。つまりpythonではなく、インストールされているsqlite3のバージョンに依存するということになります。 通常ですと、sqlite3の最新版のソースをもってきてコンパイルし、インストールして、作成されたsqlite3.soを元のファイルと置き換えれば良いことになります。 ./configure --prefix=sqlite3のインストールされているディレクトリ make make install ただしKnoppixってCD-ROM(DVD-ROM)から起動しますよね? いまご利用になっているsqlite3がCD-ROM(DVD-ROM)上に存在すると置き換えは難しいと思います。
その他の回答 (1)
- siffon9
- ベストアンサー率64% (136/211)
こんにちは Windows環境前提としてお話します。 https://docs.python.org/2.7/library/sqlite3.html#sqlite3.Connection.enable_load_extension たとえば、上記URLのサンプルソースですが標準のPython2.7ではエラーで動作しませんが、以下の作業を行ったところ動作しました。環境はWindows8.1です。 ただし他の機能に不具合が出る可能性がありますので、作業を行う場合は、自己責任において行ってくださいませ。 1.ソース上の3行をコメントアウトする con.enable_load_extension(True) con.execute("select load_extension('./fts3.so')") con.enable_load_extension(False) 2.sqlite3のサイトからsqlite3.dllを入手する。 http://www.sqlite.org/download.html sqlite-dll-win32-x86-3080704.zip 3.pythonインストール先のDLLsディレクトリ内のsqlite3.dllを2.で入手したものに置き換える。 おそらくpythonに標準添付のsqlite3.dllが古いのだと思います。
お礼
返答ありがとうございます ご提示の手法で解決出来ました。 このようにデータベースに詳しいないので、また質問するかもしれません。 私はWindowsでも、このSQLiteを使おうとしていますが、同様にKnoppixというLinuxの一種でも使う予定です。そして、同じ問題が発生しています。よろしければKnoppix上での解決方法も教えて下さい。 バージョンは以下です。 $ python --version Python 2.7.3
お礼
返答ありがとうございます ご指導の通り、コメントアウトだけで動作してしまいました。 お手数をかけてしまって申し訳ありません。 どうして、修正しなければ動作しないコードが出回っているのか不思議ですね。 今後もおねがいします