python

pip1.5に注意

とある日、素のインスタンスにchef走らせたらpip installで何故かエラーになりました。 デプロイ周りで特にレシピ変更してないし全く身に覚えがない。。。 差分chefインストールだとpipエラー出ないし何でだー?とトレース追ってみると argparse==1.2.1でエ…

SQLAlchemyでデータベースの master / slave 参照切り替えを行う

SQLAlchemyで 「更新はMasterDB」 「参照はSlaveDB」 ということを実現したかったので調査メモを残しておく。 カスタマイズSessionクラスを作ってその中でMaster/Slave判定すれば良いようだ。 サンプルアプリケーション Flask使ってみる。 config.py # Maste…

python-memcachedでunix domain socket接続する

hostを指定する所でそのままunixドメインソケット指定すればよい。 import memcache mc = memcache.Client(['unix:/tmp/memcached.sock']) mc.set('foo', 'bar') print mc.get('foo')

SQLAlchemy+MySQLでマルチバイト扱ったら文字化けた時の対応

マルチバイト扱ってたら以下のようなエラーが発生。 Failed to update model. 'latin-1' codec can't encode character u'\u3042' in position 15: 接続するときのコードはこんな感じ。 DBもクライアントもutf8指定してるのになーって感じ。 DSN = 'mysql://…

python httpクライアントのベンチマーク

http叩きまくるアプリ書いてるのでベンチ取ってみた。 requests遅いように見えるけど、 そこまで気にする差ではないとおもう。

python - HTTPrettyでhttp通信を奪う

Mockモジュールでもいいっちゃいいんだけど 偶然見つけたので試してみた。 HTTPretty https://github.com/gabrielfalcao/HTTPretty GETを奪う HTTPretty.register_uriで奪いたいURLと期待するレスポンスを書くだけでOK。 # encoding:utf-8 import unittest f…

vimでpythonのタグジャンプができるようにする方法

pythonだと普通に ctags -R .で作ったタグファイルではタグジャンプがうまくいかない。 そんなときはpython-toolsにバンドルされているptags.pyを使えばいいようであるが、 そのままのptags.pyではディレクトリをもぐってくれないので パッチをあてる必要が…