Adsenseコード

2017-11-24

MAMPでPythonを動かす




■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 件のコメント:

コメントを投稿