■Apacheの設定
以下の場所にあるファイルを編集します。
/Applications/MAMP/conf/apache/httpd.conf
ファイル内を「AddHandler」で検索し、以下の該当部分に「.py」を加え、Pythonファイルを対象にします。
#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi .py
■test.py の作成
1行目に記述する python のインタプリタの場所を調べます。
ターミナルで以下を入力すると出てきます。
$ which python3
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
上記を一行目に記載し、test.py ファイルを以下のように作成します。
保存場所
/Applications/MAMP/htdocs/host8004/Python.py
#!/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
print("Content-Type: text/html; charset=utf-8")
print("")
print("""
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h1>It works!</h1>
<p>本文</p>
</body>
</html>
""")
print('お疲れ様です。')
※ この例では Virtual hosts を設定しているので、「host8004」ディレクトリ内にファイルをおいています。
詳しくは
Mac上のMAMPでローカルにバーチャルホストを設定する方法
を参照ください。
■デバッグ
うまくいかない場合は、エラーログは apache_error.log にはき出されるので、
Finder で apache_error.log を検索し、原因を突き止めましょう。
■Permission denied
ファイルの実行権限がない時のエラーです。
以下のような log が記載されます。
... [error] [client 127.0.0.1] (13)Permission denied: exec of '/Applications/MAMP/htdocs/host8004/Python.py' failed, referer: http://127.0.0.1:8004/
この場合は、ターミナルで以下を実行します。
$ chmod 755 /Applications/MAMP/htdocs/host8004/Python.py
参考
MAMPでPython3をブラウザに表示
MAMPでPythonを動かす
0 件のコメント:
コメントを投稿