>>> import sqlite3 Traceback (most recent call last): File "というように sqlite3 モジュールをインポートできなかったりしました。", line 1, in File "/tmp/Python/lib/python3.3/sqlite3/__init__.py", line 23, in from sqlite3.dbapi2 import * File "/tmp/Python/lib/python3.3/sqlite3/dbapi2.py", line 26, in from _sqlite3 import * ImportError: No module named '_sqlite3'
sqlite3 モジュールはあるのですが、_sqlite3 モジュールが無いようです。
$ dpkg -l | grep -i sqlite ii libsqlite3-0 3.7.7-2ubuntu2 SQLite 3 shared library ii sqlite3 3.7.7-2ubuntu2 Command line interface for SQLite 3sqlite3 はインストールされており、シェルのコマンドラインで sqlite3 コマンドもちゃんと使えます。
でも sqlite3 モジュールのインポートに失敗します。
(./configure ではなく) make した時の出力をよく見ると最後の方に
Python build finished, but the necessary bits to build these modules were not found: _bz2 _curses _curses_panel _dbm _gdbm _lzma _sqlite3 _ssl _tkinter readline zlib To find the necessary bits, look in setup.py in detect_modules() for the module's name.って出てました。 sqlite3 以外にも import できないモジュールがいろいろありそうです。
setup.py の detect_modules() の該当箇所を見てねって書いてあるんですが読んでみてもよくわかりません。
今までいろいろソースからインストールした経験から、sqlite3 関連の dev パッケージが無いのが原因ではないかとう気がしたのでやってみました。
$ apt-cache search sqliteで出てくる中でそれらしいものを探します。libsqlite3-dev がそれっぽいのでインストールしてみます。
$ sudo apt-get install libsqlite3-dev $ make ... snip ... Python build finished, but the necessary bits to build these modules were not found: _bz2 _curses _curses_panel _dbm _gdbm _lzma _ssl _tkinter readline zlib To find the necessary bits, look in setup.py in detect_modules() for the module's name. ... snip ...ビルドできないものリストの中から _sqlite3 が消えました。
正解だったようです。
最終的に以下のパッケージをインストールしてすべてビルドできるようにしました。
- libsqlite3-dev
- libbz2-dev
- libncurses5-dev
- libgdbm-dev
- liblzma-dev
- libssl-dev
- tcl-dev
- tk-dev
- libreadline-dev
とりあえず
>>> import sqlite3 >>>sqlite3 モジュールはインポートできるようになりました。
その他のモジュールはインポートできるか試していませんが、多分大丈夫でしょう。
./configure で必要なライブラリがあるかどうかチェックして欲しいです。。。
0 件のコメント:
コメントを投稿