MAMP環境でのPython開発が必要となり、mac(OS X El Capitan バージョン 10.11.5)でMAMP環境でSQLAlchemyを利用しようとした際に軽くハマりそうだったので、手順をまとめます。
(2016/06/28 現在)
尚、
・python 2.7.9
・Mysql 未インストール
・ 以下の利用が可能
・homebrew
・pip
・pyenv-virtualenv
が前提での記載となります。
MAMPのセットアップ
まずMAMP環境を構築します。
ダウンロード
https://www.mamp.info/en/downloads/ からダウンロード
インストール
ダウンロードしたpkgを実行してインストール。
尚、同時にMAMP PROがインストールされますが、個人的には不要だったので、/Application/MAMP PROにあるuninstaller.appを実行してアンインストール。
MAMP PROを利用してからアンインストールすると、中身のデータは問答無用で消去されるほか、アンインストールされない場合もみたいなので、不要な場合は即時消去されることをお勧めします。
セットアップ
本件では特に影響無いので、各々セットアップしてください。
python 作業環境準備
こちらは必須ではないですが、一応。
$ pyenv virtualenv 2.7.9 hogehoge
$ cd <アプリケーションルート>
$ pyenv local hogehoge
Mysql-Pythonのインストール
SQLAlchemyで利用するMySQLドライバをインストールします。
mysql-conncector-cのインストール
特に何もせずにMysql-Pythonをインストールしようとすると (以下、一部抜粋)
building '_mysql' extension
creating build/temp.macosx-10.11-x86_64-2.7
clang -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 -I/Applications/MAMP/Library/include -I/Users/fujito/.pyenv/versions/2.7.9/include/python2.7 -c _mysql.c -o build/temp.macosx-10.11-x86_64-2.7/_mysql.o -fno-omit-frame-pointer -g -DNDEBUG
_mysql.c:44:10: fatal error: 'my_config.h' file not found
#include "my_config.h"
^
1 error generated.
error: command 'clang' failed with exit status 1
みたいな感じでインストールができません。
利用するMysqlはMAMPのインストールでインストールされたものとなりますが、こちらにmy_config.hが含まれない為に発生するようです。
そこで、必要な差分のファイルをインストールします。
$ brew install mysql-connector-c
Mysql-Pythonインストール
満を辞してMysql-Pythonをインストール
$ pip install Mysql-Python
SQLAlchemyのインストール
最後に(最後じゃなくてもいいけど)SQLAlchemyをインストール
$ pip install SQLAlchemy