done is better than perfect

自分が学んだことや、作成したプログラムの記事を書きます。すべての記載は他に定める場合を除き個人的なものです。

Mac+homebrew+Python+SQLiteでハマった。

小ネタ。Mac + Homebrew + Python + SQLite使っている人向け。

最近brew upgradeして、pythonimport sqlite3したらこんなエラーが出るようになりました。

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: dlopen(/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_sqlite3.so, 2): Library not loaded: /usr/local/lib/libsqlite3.0.8.6.dylib
  Referenced from: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_sqlite3.so
  Reason: image not found

結構困ったのでググったら、Githubのhomebrewのissuesで同じことが報告されていました。

対処方法も上記のサイトと同様に brew rm python sqliteの後にbrew intall pythonで治ります。pythonを改めてインストールする際に 依存関係の回復でsqliteも入れてくれるみたいです。