我试图在Heroku上设置Flask应用程序,但是Heroku似乎继续崩溃。 在Heroku日志中,由于此错误,Heroku似乎崩溃了:
SyntaxError: Non-ASCII character '\xe2' in file /app/app/range_parser.py on line 8, but no encoding declared;
以下是我尝试(尝试)解决问题的步骤:
heroku config:add LANG=en_US.UTF-8
# -*- coding: utf-8 -*-
,# encoding=utf8
和
# coding: utf-8
到文件标题python-3.4.3
-----> Installing runtime (python-2.7.11)
,所以我实际上并不确定heroku是否实际上正在注册runtime.txt文件。有办法检查吗?none
时,它仍然在第8行给出了相同的错误(即使在甚至没有8行的情况下也是如此)文件)。这让我相信错误可能源于运行时版本/其他与文件本身无直接关系的错误。heroku local
部署应用程序。这令人惊讶地起作用,再一次让我相信问题出在Heroku身上,而不是文件。如何解决此问题?
答案 0 :(得分:0)
我猜你的应用程序range_parser.py的第8行你有代码,它采用unicode而不是编码utf-8字符串并崩溃了应用程序。检查您是否有某种文本分配,转换或某种使用,并将其编码为utf-8。类似的东西:
your_var.encode('utf-8') #if it is a unicode string
答案 1 :(得分:0)
弄清楚Heroku崩溃的原因。
我的错误是即使我设置了runtime.txt来构建python-3.4.3,我忘了提交并推送文件,并git push heroku master
来重建运行时。
不确定为什么编码错误首先发生,但3.4.3似乎是固定的。