SSブログ

sqlalchemy の CyMySQL support (第33回 Python mini Hack-a-thon の記録) [Python]

昨日は、週末にみんなで集まって Python に関する何かをしようという Python mini Hack-a-thon に参加
http://connpass.com/event/2755/

sqlalchemy に、すでに cymysql という dialect があるのだけれど
http://docs.sqlalchemy.org/ru/latest/dialects/mysql.html#module-sqlalchemy.dialects.mysql.cymysql
sqlalalchemy のテストを実行すると、Error や Fail になるものがあるので少しでも減らそうというタスクを実施。sqlalchemy と CyMySQL の両方での修正が必要になる。
http://nakagami.blog.so-net.ne.jp/2013-04-21 の続き。

・・・とその前に、「pypy で動かないの?」と言われて、動くとは思うけど  travis-ci はどうなってたっけと思ったら pypy はターゲットになってなかった。
単純に pypy をターゲットに入れると setup.py build_ext に失敗してしまう。
そりゃそうだ。pypy でテストを実行するときは build_ext しないで、 pure python の場合だけでテストするようにできないかなぁ。環境変数見ればできるはず。
・・・と思ったら、その場にいた人が調べて教えてくれた。おかげで、pypy のテストも通せるようになった。
https://github.com/nakagami/CyMySQL/blob/master/.travis.yml
これが、昨日の時点での一番大きな成果かな。

sqlalchemy のソースは、以前みた時は 2to3 +αでソースを python3 用に変換しないといけなかったんだけど、今は(この秋リリース予定の 0.9からは)同じソースで python2 と python3 で動かせるようになってた。しかも、だいたい動いている。以前見た時には 「python3 の場合は、ここのコメントの部分を生かす」みたいなマクロっぽい(実際にはコメント)記述が大量にあったのだが、そういうのがもうない。驚いた。

あーでもないこーでもないと sqlalchemy と CyMySQL のソースをいじくり回してたけど、昨日の時点では時間切れ。

昨日だけでは修正不足だったが、今日の午前中に続きをやったら一応の区切りのよいところまできたので、CyMySQL は 0.6.5 をリリースしてsqlalchemy の修正は pull request を送っておいた。
まずは、めでたしめでたし

ちなみに、以前から sqlalchemy のテストは走らせてみているのだが、sqlalchemy の使い方はいまだにわかってない。

コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント

トラックバック 0