futabooo blog

色々手をつけすぎてすぐに忘れるので備忘録

OSError: [Errno 13] Permission denied

2012/02/291追記
原因判明。test.pyの中身をコピペでそのまま使っていたのでバックスラッシュの部分が¥になっていたせいでうまく行かなかった。


みんなのPythonでサンプルプログラム実行してたらエラーに見舞われた。
ちなみに環境は
Mac OS X 10.7.2
Python2.7.2

まずこのコマンドでPythonのサーバーを起動

$ python cgiserver.py


cgiserver.pyの中身

import CGIHTTPServer
CGIHTTPServer.test()


./cgi-bin/test.pyを作って、このプログラムにブラウザでアクセスして文字を表示させたい。
test.pyの中身

#!/usr/local/bin/ python

print "Content-type: text/html\n"
print "<html><body>Python is awesome !</body></html>"


ブラウザでhttp://127.0.0.1:8000/cgi-bin/test.pyとすると何も表示されない(´・ω・`)
ターミナルに表示されているエラーがこれ。

Traceback (most recent call last):
  File "/usr/local/Cellar/python/2.7.2/lib/python2.7/CGIHTTPServer.py", line 251, in run_cgi
    os.execve(scriptfile, args, env)
OSError: [Errno 13] Permission denied


ググってみるとhttp://www.pukkared.com/2011/01/python-permission-denied-error-when-executing-a-cgi-script/このページが出てきた。
エラーにもあるようにPermission deniedということは、権限がありません!ということなので、
ファイルに実行権限を与えるために、コマンドをうつ。

$ cd /usr/local/Cellar/python/2.7.2/lib/python2.7
$ chmod a+x CGIHTTPserver.py


だがしかし結果は変わらない(´・ω・`)