電子書籍の厳選無料作品が豊富!

結論だけでいいです。

Python 2.7で、SQLite3のFTSを使える □YES/□NO

当然使えると思って前準備まで全部行ったのに、実際に登録しようとしたら出来ず調べると、ソースからコンパイルとか何かを介するとか何かをダウンローダするとか...

これでは私的にはNOです。

A 回答 (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)上に存在すると置き換えは難しいと思います。
    • good
    • 0
この回答へのお礼

返答ありがとうございます


ご指導の通り、コメントアウトだけで動作してしまいました。
お手数をかけてしまって申し訳ありません。

どうして、修正しなければ動作しないコードが出回っているのか不思議ですね。


今後もおねがいします

お礼日時:2014/12/29 20:02

こんにちは


Windows環境前提としてお話します。

https://docs.python.org/2.7/library/sqlite3.html …

たとえば、上記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が古いのだと思います。
    • good
    • 0
この回答へのお礼

返答ありがとうございます


ご提示の手法で解決出来ました。
このようにデータベースに詳しいないので、また質問するかもしれません。

私はWindowsでも、このSQLiteを使おうとしていますが、同様にKnoppixというLinuxの一種でも使う予定です。そして、同じ問題が発生しています。よろしければKnoppix上での解決方法も教えて下さい。
バージョンは以下です。
$ python --version
Python 2.7.3

お礼日時:2014/12/29 04:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す