PHPのように
pythonもブラウザ実行したい。
apacheに設定したらできるだろう。
そう、簡単に思っていた。でも違いました。
ちょっとハマった話です。
「python apache」
「python apache windows」
とかで調べると
apacheのconfigファイルに
#AddHandler cgi-script .cgi
とコメントアウトされた行があるので
コメントアウトを解除して
apacheを再起動したら
表示できるよ。
的なことが書いてあります。
嘘です。
それだけじゃできません。
やろうとしたことは
test.py
「
print ("Content-Type: text/html\n")
print('Yes I can !')
」
という超簡単ファイルを
ブラウザで表示できるようにする。です。
以下
- ブラウザでpythonを接続するまで①
- ブラウザでpythonを接続するまで②
- ブラウザでpythonを接続するまで③
と書きましたが
実行に必要なことは、①と③を見ればわかります。
②はハマった話です。
■■■■■以下、ブラウザでpythonを接続するまで①■■■■■
まず、apache httpd.conf
#AddHandler cgi-script .cgi
とコメントアウトされた行があるので
●コメントアウトを解除し、
同じく、apache httpd.confに
「
Alias /python "C:/hoge/hoge/python"
<Directory "C:/hoge/hoge/python">
AllowOverride None
Options FollowSymLinks
Require all granted
Options +ExecCGI
</Directory>
」
を追記。
●Alias の部分で、URLから接続する際
localhost/python/で接続できるようにエイリアス(別名)を設定。
●<Directory ~ の部分で
pythonファイルの親ディレクトリまでを
apacheからアクセスできるように設定します。
※設定は参考程度に見てください。
※とりあえず動いた。けど設定内容は各自仕様を考慮し調整する必要があります。
■■■■■以下、ブラウザでpythonを接続するまで②■■■■■
ハマった!
「python apache」で調べるとよくでてくる。
「pip install mod_wsgi」
これが曲者。
コマンドプロンプトを管理者権限で開き
python.exeのディレクトリまで移動
「python -m pip install mod_wsgi」
と打ち込み、installが実行されたけど
エラー!!
エラーの内容は
Visual C++ 14がない。
microsoftでダウンロードして入れました。
再度コマンド実行!
エラー!!(なんで)
エラーの内容は
Visual C++ 14がない。
PC再起動しても
Visual C++ の他のバージョンも削除したり
試しましたが駄目でした。
●結論は、
「python -m pip install mod_wsgi」
を実行する必要ない。
Visual C++ 14も入れる必要はない。
※もしかしたら、他の工程で必要となるかもしれませんが
私が試したい超簡単コードの実行には不要です。
※このエラーは解消方法があるようです。
まだ試していませんが、Qiitaに記事がありました。
test.py
「
#!"C:\Hoge\hoge\Python\python.exe"
print ("Content-Type: text/html\n")
print('Yes I can !')
」