LoginSignup
6
7

More than 5 years have passed since last update.

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

Posted at

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/ からダウンロード
スクリーンショット 2016-06-28 15.42.51.png

インストール

ダウンロードした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

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7