さくらインターネットでPythonスクリプトを走らせようということでやってみました。
Herokuがデプロイ出来るのにアプリケーションエラーが発生したので、まぁレンタルサーバーでなんとかなるように勉強しておくのもいいなという安易な発想です。
ローカルでは動くのにHerokuでは動かない、などという時にレンタルサーバーで動かせれば楽チン。最初はbottleをそのまま使おうとしたのににっちもさっちもいきませんでした。
で、相当に躓いたので覚書も兼ねて。
必ず入れておきたいおまじない
#!/usr/local/bin/python
print "Content-Type: text/html\n"
結局PythonスクリプトがCGIで動くということで、アップロード後.cgiに書き換えが必須。で、最初はbottleを何とか動かそうとしたわけですがルーティングがうまくいかない。もう腹がたったので全部一から書いてやりました。index.pyの中がprintだらけになりましたとさ。
さくらでbottleを上手く動かす方法があったら詳しく教えて下さい。
botlleだったら数十行なのに。
フレームワークの便利さを痛感しますねこれは。
というわけでローカル環境での開発はcgiモジュールを使う。
アップロードした時にそのままアップロードできるし迷いがない。
こんな感じの階層にして製作開始。
アップロード時はcgiserver.py以外を全部アップロード。
home/user/www/ 以下であればどこでも問題無いです。
index.pyはアップロード後にindex.cgiに書き換えてパーミッションを705にしておくこと。
で成果物はこちら。もっと色々実装したかったんですけど力尽きました。
http://app.jiriki.co.jp/rakuten-creater/index.html
さくらのレンタルサーバーでbottleが動いたお話を書きました。