当我试图通过Google应用程序引擎启动器运行Python API时,收到一条错误消息。我按照"Ashutosh KS"的一套说明在谷歌服务器上启动一个网站,我在http://www.hongkiat.com/blog/host-website-google-server/.当我运行App.yaml文件时,我会收到下面的错误消息。
google.appengine.api.yaml_errors.EventListenerYAMLError:"utf8"编解码器无法解码字节#x96:无效的起始字节在"C:\healygeoscience\app.yaml"中,位置992015-02-17 01:48:53(进程退出,代码为1)
当我尝试部署API时,我也会得到以下错误。
appcfg.py:error:分析C:\healygeoscience\app.yaml:"utf8"编解码器无法解码字节#x96:无效的起始字节时出错在"C:\healygeoscience\app.yaml"中,位置99。2015-02-17 01:50:04(进程退出,代码为2)
我的App.yaml文件如下:
应用:健康地球科学版本:1运行时:python27api_version:1线程安全:是
处理程序:–网址:/静态文件:www/index.html上传:www/index.html
–网址:/static_dir:www
库:–名称:webapp2版本:"2.5.2"
该网站是一个基于Ceevee模板的单页网站http://www.styleshout.com/demo/?theme=ceevee.,是我用TextPad编辑的。网站在本地运行时是可操作的,尽管我必须刷新几次才能显示所有图像——可能很重要?
通过阅读有关Stackoverflow的其他问题,我意识到错误是由于编码问题造成的,我想知道index.html文件头部分第8行的语句是否重要。一些帖子建议从charset=ISO-8859-1解码为unicode。你能解释并提供代码吗?在TextPad中,我用UTF-8和Unicode保存了index.html文件,在写字板中,我将App.yaml保存为Unicode文本文档,但错误仍然存在!
位置99是指行号吗?如果是,这是否包括App.yaml中的14行代码,也包括App.yaml和index.html中的空行?如何定位带有#x96的字符串。
我怀疑很多试图建立个人和商业网站的新手都会遇到这个问题,所以如果有人能为一个完整的Python新手提供一些建议,那可能会非常有益。
RaymondHealy
如果在编辑之前从hongkiat演练中复制了app.yaml的内容,则需要重新键入'-'字符。
有许多细微的不同字符类似于"-",并由许多文本编辑器自动"更正",在这种情况下,演练中的字符无法识别。
99表示字符编号。您可以通过将文件读取到Python解释器中并选择99:来找到引用的字符
file_contents = open('app.yaml').read()
print(file_contents[99])