pythonのgeventにAssertionErrorとか言われて詰みかけた話
前回に引き続いてgeventのpywsgi。
順調に遊んでいたら、こんなことを言われました。
assert not self.headers_sent
AssertionError
うーん? ヘッダーを送ってないよってか? start_response
はしたよ?
と思いつつログさかのぼってみたら
TypeError: an integer or string of size 1 is required
なんて事が書いてあった。 整数か文字か・・・文字列返してるんだけどな・・・。
いろいろ試してみて分かった。
単純にunicode型に対応していないようです、この子。 適当な文字コードにエンコードしてやるとすんなり動きます。
そんなわけで、gevent使うときはエンコードに気をつけましょう。
ま、python3.x使えよって話かもしれない。
追記
適当に書いちゃったけど、geventはpython3.xに対応してないっぽい?