MacでMAMP + Python + SQLAlchemy(Mysql-Python)の導入


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