|
カテゴリ:Python
以前、「SQLite の全文検索を Python から使ってみる」のを試したことがある。
SQLite Full Text Search with MeCab を試してみようと思いつつ、忘れてしまっていた。 ふと、思い出してやってみたが、Windows 上で sqlite3 を直接使って、上記の tokenizer を使うと、ちゃんと動かせるのだが、pysqlite3 から使おうとしたらダメ。enable_load_extension が使えないので FTS3 の tokenizer を有効にできない。
で python の sqlite3 のバージョンを見てみると、’2.4.1' だった(Python は 2.6 系を使っている)。sqlite3 ? DB-API 2.0 interface for SQLite databases を見てみると、New in version 2.7 と書かれている。Python 2.6 からじゃだめなのか。うーん。Windows 上では、 Python(x,y) をインストールしているので Python 2.6.5.3 を使っているので困った。(科学計算のための楽々環境 python(x,y)参照)。 検索してみると、force python to forego native sqlite3 and use the (installed) latest sqlite3 version が見つかる。 ということで、pysqlite downloads から新しいバージョンの pysqlite をダウンロードして使ってみることにした。pysqlite 2.5 系と pysqlite 2.6 系があって、どうするかなと思ったが、とりあえず最新のものを試してみる。つまり、pysqlite-2.6.0.win32-py2.6.exe を使ってみることにした。が、やっぱり、ダメ。 setup.cfg を見ると、次のように SQLITE_OMIT_LOAD_EXTENSION が定義されているから。ということで、自分でコンパイルし直さないと使えないということになる。自分でコンパイルするときには、defind の行をコメントアウトして #define ... にしてやればいいだろう。たぶん。でも、環境を整えるのが面倒なので、ここで終了。
ということで、今のところ残念な結果。まだ、Python からはお手軽に使うことができないようだ。 そういえば、『エキスパートPython プログラミング』をそのうち買おうかと思いつつ、まだ買ってない。
お気に入りの記事を「いいね!」で応援しよう
Last updated
2010.09.12 21:41:22
コメント(0) | コメントを書く
[Python] カテゴリの最新記事
|