PythonからMySQLへの接続
- 環境
python経由でMySQLにアクセスするために以下のパッケージを導入したらハマった...
MySQLを64ビットでインストールしていたのが原因だったようです.
下記の手順で確認するとpythonが32ビットで動いているのがわかったので
MySQLの32ビットバージョンにすればいいはず! ← 根拠はなかったw
$ which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ $ file /Library/Frameworks/Python.framework/Versions/2.7/bin/python /Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 2 architectures /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture ppc): Mach-O executable ppc /Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386): Mach-O executable i386
※ i386は32ビット仕様です
下記のURLを参考にさせてもらってまずは,MySQLの32ビットバージョンのインストールを開始しました.
http://d.hatena.ne.jp/hirokiky/20110801/1312217746
何がでるかな?と確認すると以下の2つのパッケージを削除する必要がありそうですと.
$ pkgutil --pkgs | grep -i mysql com.mysql.mysql com.mysql.mysqlstartup
さくじょ...さくじょ...さぁあくじょー
$ sudo pkgutil --unlink com.mysql.mysql $ sudo pkgutil --forget com.mysql.mysql $ sudo pkgutil --unlink com.mysql.mysqlstartup $ sudo pkgutil --forget com.mysql.mysqlstartup
これでパッケージ削除が完了したので,再度MySQLを導入(今度は確実に32ビットいれる)
するとうまくういくようになりました(一安心)