さくらインターネットで Python やるよ

さくらインターネットPython をやろうと思って、とりあえずまず cgi くらい動かそうと思ったけどハマった。
Perlでやろうと思った時もハマったことがある気がするんだけど…

Python インストール

easy_install 使おうと思うとさくらに標準で入ってる Python だと権限の問題で使えないので自分とこに Python を入れなおす作業から。
vertual-python っていうのを使うことで同居をさせることができます。
こちらの記事を参考にインストールしました。

さくらインターネットにpythonを再インストール - しまてく

#今回は /home/cimadai/local/python/ 以下にインストール。

ってなってるけど記事中

%python virtual-python.py --prefix=/home/cimadai/python

と微妙にパス書き間違ってるところがあるので丸コピする人は注意。たぶんそのままやるとうまくいかない。
「.pydistutils.cfg」も「.pydistuils.cfg」になってる部分があるので丸コp(ry

基本的には自分の環境と合わせながらこの記事の通りにやれば Python と easy_install が使えるようになるはず。 install_lib は $PYTHONPATH/lib/python2.6/site-packages にしときました。


今回 .pydistutils.cfg のヘッダーに [install] と書いてなくて easy_install うまくいかなくて悩んだ。
コンフィグファイルはちゃんと [] で囲まれた部分見るんですね。それ知らなくて [install] 端折ったせいで easy_install がエラー吐いてた。

でも easy_install で Pylons1.0 入れたときは同じcfgファイル使ってたと思うんだけど。うまくいってなかったんだっけ。直した後「あれ?」と思って Pylons 入れようと思ったら「既にあるよ」言われたけど。

じゃあ cgi 動かすよ! → 「Internal Server Error 500」

今までサーバーサイドは主に PHP 触ってきて、実際にサーバーで動かしたことあるのも PHP オンリーだったんで結構悩んだ。

Internal Server Error 500」はさくらインターネットやる初心者が必ず通る道。パーミッション関連は慣れてる人でも忘れることが結構あるみたいだし、初級、中級者がよく引っ掛かるところなんで対処法はWebにいっぱい散乱してる。
「755」っていう数字を家の扉の内側と外側に貼っておけば自宅でも会社でも忘れない。

今回単純に「Hello, World!!!」でも表示させようと思ったけど僕もまた「Internal Server Error 500」連発。
cgiファイルを HTML として認識してないってとこまでは分かって出力部分を

print("Content-type: text/html; charset=utf-8")
print("Hello, World!!!")

って書いたんだけどこれだとエラー。こっから問題解決までに1時間くらい悩んだ…。

print("Content-type: text/html; charset=utf-8")
print("\n")
print("Hello, World!!!")

改行コード欲しいんだね…。まぁ改行コードなかったら出力が

Content-type: text/html; charset=utf-8Hello, World!!!

ってなるってことだもんな…。Python も「!?」ってなるよな。

3連休初日の午後がこれだけでかなり潰れた。Pylons 動かそうと思ってるけどこれも時間掛かりそうなのに。
この3連休、実家に帰る予定だったけど Python 充になろうと思う。