【GAE/Python】Goolge cloud sqlをローカルで動かす
サーバにアップした状態での動作は、
https://developers.google.com/cloud-sql/docs/developers_guide_python
を見ることで問題無く完了した。
しかし、ローカルで動作させるためにはいくつか手順が必要で、
それは上記サイトに詳しい説明はない。
なので、上記サイトを参考にしつつも、
インストールが必要な物を調べて、
動作までいったのでそれをメモ代わりに残す。
(※こちらの環境はmacで、windowsの方法とは違う可能性があります、
ご注意下さいm(_ _)m)
まず、
より、MySQL Community Serverを落とし、インストール。
インストールは、
http://labs.torques.jp/2010/02/14/844/
が詳しく、参考にさせていただき、システム環境設定に出して起動し、
初期設定、テーブルの作成なども行う。
その後、GoogleAppEngineLauncherのEdit→Application Settingsの
Extra Flagsの部分に
--mysql_user=root --mysql_password=xxxxxxx
と上記で設定したパスワードを入れ、
起動時にオプション付きで起動するように設定しておく。
次に、MySQL-pythonをインストールする。
http://d.hatena.ne.jp/ama-ch/20080610/1213076652
※ mysql_configのパスは、自分の場合も、
mysql_config = /usr/local/mysql/bin/mysql_config
というパスで設定する必要があった。
※自分の場合、このMySQL-pythonのインストール先が、
/Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg
になっていた。
GoogleAppEngineLauncherのPreferencesから確認出来る、python pathも
/usr/bin/python2.7 と、2.7になっているので特に何も変えなかったが、
2つのバージョンが違う場合、変える必要があるかも知れない。
その後、
/usr/local/bin/dev_appserver.py
の頭に(22行目辺りに)import MySQLdb の記述を追加。
(http://googlecloudsql.blogspot.com/2012/03/re-rdbms-api-is-not-available-because.html)
この状態で動かすと、
import MySQLdb
File "build/bdist.macosx-10.7-intel/egg/MySQLdb/__init__.py", line 19, in
File "build/bdist.macosx-10.7-intel/egg/_mysql.py", line 7, in
というエラーが出て、そもそも起動すら出来なかった。
なので、
http://www.rustyrazorblade.com/2011/11/installing-mysqldb-on-macos-lion/
にある、
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
という2つのコマンドをターミナルから実行、
その後起動してみると成功し、ローカルから動作を確認出来た。