3268298 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

傀儡師の館.Python

傀儡師の館.Python

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Recent Posts

Calendar

Keyword Search

▼キーワード検索

Category

Archives

2023.12
2023.11
2023.10
2023.09
2023.08

Freepage List

Profile

kugutsushi

kugutsushi

Free Space

設定されていません。
2010.09.12
XML
カテゴリ:Python
以前、「SQLite の全文検索を Python から使ってみる」のを試したことがある。

SQLite Full Text Search with MeCab を試してみようと思いつつ、忘れてしまっていた。

ふと、思い出してやってみたが、Windows 上で sqlite3 を直接使って、上記の tokenizer を使うと、ちゃんと動かせるのだが、pysqlite3 から使おうとしたらダメ。enable_load_extension が使えないので FTS3 の tokenizer を有効にできない。

import pysqlite3
print sqlite3.version

で 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 ... にしてやればいいだろう。たぶん。でも、環境を整えるのが面倒なので、ここで終了。

[build_ext]
#define=
#include_dirs=/usr/local/include
#library_dirs=/usr/local/lib
libraries=sqlite3
define=SQLITE_OMIT_LOAD_EXTENSION

ということで、今のところ残念な結果。まだ、Python からはお手軽に使うことができないようだ。

そういえば、『エキスパートPython プログラミング』をそのうち買おうかと思いつつ、まだ買ってない。

エキスパートPythonプログラミング

エキスパートPythonプログラミング

価格:3,780円(税込、送料別)




なかのひと






お気に入りの記事を「いいね!」で応援しよう

Last updated  2010.09.12 21:41:22
コメント(0) | コメントを書く



© Rakuten Group, Inc.