「おもしろまじめなAIスピーカーアプリをつくろう -Google Home(アシスタント)&Amazon Echo(Alexa)音声アシスタント開発」
という書籍を購入してpythonの勉強をしております。
【環境】
・さくらインターネット レンタルサーバ
・MacOS
【やりたいこと】
Google Homeに話したことと同じ内容をオウム返ししてもらいたい(参考書籍にも記載)
「さくらインターネット レンタルサーバ」では直接、拡張子「.py」を動かすことができないようで、「.cgi」に変えて処理を確認しております。
下記ソースをサーバ上で動かすとInternal Server Errorがでてしまいます。
ローカル環境では入力画面になるため、表記ミスではない気が致します。
パーミッションも「request.py」と「input.txt」で705と755で試してみました。
python
1#!/usr/local/bin/python 2# -*- coding: utf-8 -*- 3 4import json 5import sys 6 7input = json.load(sys.stdin) 8 9with open("input.txt", "w") as file: 10 json.dump(input, file, indent=4) 11 12print ("Content-type: application/json\n") 13 14output = { 15 "speech": "abc" 16} 17 18json.dump(output, sys.stdout) 19#json.dump(input, sys.stdout)
request.pyにあるinput = json.load(sys.stdin)という行が原因のようでした。
こちら何が行けないのかお分かりになる方おりませんでしょうか。
180320 追記
ご回答ありがとうございます。
周りに聞けるエンジニア様がいないので非常に助かりました・・・。
さくらレンタルサーバはコンパネからエラーログ見れるのですね。
こちらも勉強になりました。
エラーログなのですが、下記が出力されておりました。
階層については一部伏字に置換しております。
Log
1[Tue Mar 20 10:29:07.095577 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: Traceback (most recent call last):: /home/*****/www/test/googlehome/request.cgi 2[Tue Mar 20 10:29:07.095680 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: File "request.cgi", line 7, in <module>: /home/*****/www/test/googlehome/request.cgi 3[Tue Mar 20 10:29:07.095692 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: input = json.load(sys.stdin): /home/*****/www/test/googlehome/request.cgi 4[Tue Mar 20 10:29:07.095734 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: File "/usr/local/lib/python2.7/json/__init__.py", line 290, in load: /home/*****/www/test/googlehome/request.cgi 5[Tue Mar 20 10:29:07.106446 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: **kw): /home/*****/www/test/googlehome/request.cgi 6[Tue Mar 20 10:29:07.106503 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: File "/usr/local/lib/python2.7/json/__init__.py", line 338, in loads: /home/*****/www/test/googlehome/request.cgi 7[Tue Mar 20 10:29:07.106603 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: return _default_decoder.decode(s): /home/*****/www/test/googlehome/request.cgi 8[Tue Mar 20 10:29:07.106635 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: File "/usr/local/lib/python2.7/json/decoder.py", line 365, in decode: /home/*****/www/test/googlehome/request.cgi 9[Tue Mar 20 10:29:07.107188 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: obj, end = self.raw_decode(s, idx=_w(s, 0).end()): /home/*****/www/test/googlehome/request.cgi 10[Tue Mar 20 10:29:07.107230 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: File "/usr/local/lib/python2.7/json/decoder.py", line 383, in raw_decode: /home/*****/www/test/googlehome/request.cgi 11[Tue Mar 20 10:29:07.107286 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: raise ValueError("No JSON object could be decoded"): /home/*****/www/test/googlehome/request.cgi 12[Tue Mar 20 10:29:07.107304 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] AH01215: ValueError: No JSON object could be decoded: /home/*****/www/test/googlehome/request.cgi 13[Tue Mar 20 10:29:07.109381 2018] [cgi:error] [pid 36088] [client 153.229.180.61:0] End of script output before headers: request.cgi