syncdbでsqliteのエラー

Posted by Ken on 28th, 2009

djangoを入れてみたものの、sqlite3のモジュール部分で動作せず。
python manage.py syncdbでなぜかエラー。

Error loading sqlite3 module: No module named _sqlite3

環境はUbuntu 8.10にPython2.6をソースでインストール。
そこに、djangoをsetup.pyでインストールした。

Web上でも似たような人たちがいて、人それぞれ対応が違う。
ソースで入れ直す人、CentOSでdevelパッケージを入れたりしてる人。
結局、直接的な解決に至らなかったので、自分で対応を考えることにした。

まず、_sqliteが無いと言われているので存在を確認。
Python2.6ディレクトリ配下には存在せず :sad:
Python2.5は・・・あった!
たぶん、python-pysqlite2というパッケージが入っているからだと思う。
というわけで、_sqliteを使うべく、Python2.6のライブラリとして使うためにシンボリックリンク作成。
そしたら、unicodeなんとかでエラー。
2.6の役割の一つに3.0への移行があるから、それに関する違いでエラーが出たっぽい。

じゃ、setup.pyで_sqliteを作ればいっか、と調べてみるとpysqlite2というライブラリがあるっぽい。
dpkgではpython-pysqlite2として配布されてるやつだな。
pysqlite – Trac
http://oss.itsystementwicklung.de/trac/pysqlite
ここからダウンロードしてきて、インストールを実行。
python setup.py install
インストール途中でエラー発生。

sqliteのソースが無いようなことを言われたのでソースをインストール。
sudo apt-get install libsqlite3-dev
yumパッケージで言う”-devel”みたいなパッケージっぽい。
再度、pysqlite2をsetup.pyでインストール。

このあと、syncdbを試したら動作しました。
無理な構成にもなってないし、この対応でよかった気がする。
setup.pyでインストールする時はそのバージョン配下のライブラリとして増えていくみたいなので、2.6が不要となったら/opt/python2.6を消せば済みそう。

Leave a Reply



Search


SUBSCRIBE

  • 最近のコメント

  • カテゴリー

  • タグ

    Amazon Android au BeagleBoard blog CMS Compiz Fusion Django DVD Google HT-03A iPhone ISMS Linux LUMIX LUMIX G1 MacBook MySQL Workbench OpenX Poken Python server Software Design SOY CMS TinyMCE Ubuntu Ubuntu 9.04 Vim VirtualBox WordPress wwwsqldesigner XenServer XMind しろいくも オトノハコ ハルフウェイ マンガ 岩岡 ヒサエ 帰省 広告 望遠鏡 桜井亜美 花粉症