###実践力を身につけるPythonの教科書の「WEBアプリを作ってみよう」での質問です。
プログラミング言語を学習し始めようやく1か月経った初心者です。
今回はこの2点について質問させてもらいます。
- Python3がコマンドライン上で実行できない
- 簡易Webサーバのcgi-binが開けない**
質問1
python
1python3 -m http.server --cgi 8080
これが実行できず四苦八苦しております。
これの代わりに
python
1python -m http.server --cgi 8080
で実行したところ何とか出来ました。
(今までもこれで実行して大体は行けました。)
ここでもう間違っているとは思うのですが、
そもそも「python3」が実行できないというところでおかしいと思います。
そのため、[Python3.5.2]を一度アンインストールし[Python3.6.2]を新たに導入しました。
そして、再度、環境変数のパスも追加した上で何度も実行いたしましたが、うまくいかず途方にくれました。
これを解決するにはどうすればいいのだろうと思い、ここで質問して解決しようと思った次第です。
質問2
更に質問が続くようですが、{cgi-bin}のフォルダを作り
中に
[kakugen.py]←ファイル名 #!/usr/bin/env python #ヘッダ情報を出力 print("Content-Type: text/html; charset=utf-8") #ヘッダと本体データを区切る空行 print("") #本体データを出力 print("<html><head><meta charset='utf-8'><body>") print("千里の道も一歩より") print("</body></html>")
というファイルを作りこれを開こうとしましたが
そもそもその前の{cgi-bin}が開けませんでした。
以下がエラーメッセージです
###エラーメッセージ
[localhost:8080/cgi-bin]←アドレス Error response Error code: 403 Message: CGI script is not a plain file ('/cgi-bin/'). Error code explanation: HTTPStatus.FORBIDDEN - Request forbidden -- authorization will not help.
他にも似たような質問があったのでこちら[https://teratail.com/questions/89016]を参考にしてみたのですが
全く解決できませんでした。
###解決に向けての対応
この[cgi-bin]がいけないのかと思い、[cgi]に名前を変更したところ
今度は何とか開けましたが、kakugen.pyを開くと元のソースコードが文字化けした状態で出力されました。
そこで、エンコードを[Shift JIS]から[UTF-8]に変えてみたところ文字化けが治っただけでソースコードが依然として表示されます。
Python3.6.2がおかしいのではないかと疑い、環境変数を再度確認し、再起動もかけましたが何も解決できませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
現在の開発環境は
Windows10
Python3.6.2
Atom
たまにSpyderを使います。
不束なところがあると思いますが、ご協力お願いいたします。
回答1件
あなたの回答
tips
プレビュー