Tornadoをデバッグモード、オートリロードで稼働させる

2015-05-24
このエントリーをはてなブックマークに追加

tornado

Wikipediaにも「Pythonで書かれたスケーラブルでノンブロッキングなWebサーバ、Webフレームワーク」と書かれたTornadoのデバッグモードをオンにしてファイルの変更を検知してリロードしてくれるようにするやり方。

import tornado.ioloop
import tornado.web


class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application(
    [
        (r"/", MainHandler),
    ],
    debug=True
)

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

ほとんどサンプルのまんまです。

debug=True だけでオートリロードもしてくれます。簡単。これだとデバッグモード切り替えで都度コードの書き換えが必要になるのでコマンドライン引数で振る舞い変えるようにしたほうがいいでしょうね。

TornadoはPython3.2以降にも対応してるので安心です。

PythonでunixタイムスタンプをDatetimeオブジェクトに変換する

2015-05-22
このエントリーをはてなブックマークに追加
from datetime import datetime
print(datetime.fromtimestamp(1432049226))

これだけ。

MacでローカルのMySQL5.6にPython3.4で接続する際にlibmysqlclient.18.dylibが無いとエラーが出た

2015-05-10
このエントリーをはてなブックマークに追加

mysqlclient使って

import MySQLdb

しただけで

Library not loaded: libmysqlclient.18.dylib

ってエラー吐いたんだけどlibmysqlclient.18.dylibは

/usr/local/mysql-5.6.16-osx10.7-x86_64/lib/libmysqlclient.18.dylib

にありました。なので、

sudo ln -s /usr/local/mysql-5.6.16-osx10.7-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

シンボリックリンク張って無事に繋がるようになりました。

久々にローカルで作業するとつまんないことで躓く。。。