2011年8月30日火曜日

MAMP 環境で SQLAlchemy を使用する方法

前回のつづきです
相変わらず、メモ程度なので短いです

MAMP 環境ではソケット接続先がデフォルトと異なるため、接続時にその場所を指定する必要があるというのが前回でしたが、 Python 製の有名な OR マッパの1つである、SQLAlchemy を指定する場合はどのように設定するかが今回のエントリーとなります

指定方法は、以下のようにデータベース URL に対して、ソケット接続先をクエリパラメータに追加することとなります

データベース種別://ユーザ名:パスワード@接続先アドレス:ポート番号/データベース名?unix_socket=接続先ソケットのパス

具体的には以下の通りとなります

In [1]: from sqlalchemy import create_engine
In [2]: engine = create_engine("mysql://root:root@localhost/mysql?unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock")
In [3]: engine.execute("select 1").scalar()
Out [3]: 1L

以上で、 MAMP 環境下で SQLAlchemy が無事使えるようになるかと思います

2011年8月27日土曜日

MAMP 環境で mysql-python をインストールする方法

ちょこっとハマったのでメモとして…
元ネタはコチラ

以降は、 MAMPHomebrew がインストールされていることが前提となります
MAMP 、 Homebrew のインストール等の詳細に関しては下記過去記事も参照ください

Mac OS X での PHP 開発環境(MAMP編)
MacPorts から Homebrew へ移りました

なお、今回は MAMP 2.0 、 Homebrew 0.8 を使用しました

今回ハマった要因は、 mysql-python をビルドする際に必要なヘッダファイルが MAMP には含まれないということでした
( MAMP とは別に) MySQL 本体をダウンロードし、それを利用するなどの方法はあるのですが、さすがに面倒なので、 Homebrew にある、 "mysql-connector-c" という C 言語用接続 API のみのパッケージを利用します

$ brew install mysql-connector-c

Homebrew でのインストールが終了したら、
(下記では、mysql-python のインストールに pip を使用しています)

$ pip install mysql-python

以上で無事にインストールが完了するかとおもいます

次に実際に接続テストを行います
(テストには ipython を使用しました)

In [1]: import MySQLdb
In [2]: db = MySQLdb.connect(unix_socket="/Applications/MAMP/tmp/mysql/mysql.sock", user="root", passwd="root", db="mysql", charset="utf8")

上記コードの実行でエラーが発生しなければ、接続テスト完了です
この際に注意が必要なのは、 MAMP を利用する場合、接続ソケットのパスがデフォルトでは "/Applications/MAMP/tmp/mysql/mysql.sock" となるため、接続時にこれを設定しなければならないということです
(設定しない場合は、 "/tmp/mysql.sock" に接続しようとして、エラーとなります)

以上で、 mysql-python のインストールは無事完了となります

2011年8月3日水曜日

NetBeans IDE 7.0.1 リリース

NetBeans IDE 7.0.1 がリリースされました
ダウンロードはコチラからできるようになっております

恒例のスプラッシュです


今回は、先日リリースされた Java SE 7 の完全対応がメインとなっています
その他には、同梱されている Glassfish のバージョンがあがっていること、いくつかのバグフィックスがなされていることなどがあります

現在、7.0 をお使いの方は、自動アップデートにて 7.0.1 相当になりますので、再インストールすることなく、アップグレードできます

何かお気づきの点などありましたら、 ML 等へご連絡頂ければと思います