我在heroku上运行了一个Django应用程序。 该应用程序与以下堆栈跟踪一起崩溃:
Traceback (most recent call last):
File "/app/.heroku/python/bin/honcho", line 9, in <module>
load_entry_point('honcho==0.4.2', 'console_scripts', 'honcho')()
File "/app/.heroku/python/lib/python2.7/site-packages/honcho/command.py", line 292, in main
app.parse()
File "/app/.heroku/python/lib/python2.7/site-packages/honcho/command.py", line 129, in parse
options.func(self, options)
File "/app/.heroku/python/lib/python2.7/site-packages/honcho/command.py", line 190, in start
sys.exit(process_manager.loop())
File "/app/.heroku/python/lib/python2.7/site-packages/honcho/process.py", line 114, in loop
File "/app/.heroku/python/lib/python2.7/site-packages/honcho/printer.py", line 22, in write
Process exited with status 1
来自Honcho的printer.py源代码,当honcho尝试写入控制台时,看起来有些出错了。
我的应用程序正在从网页中提取数据,因此我可能会打印带有重音字符的文本。这有关系吗?
目前我正在打印这样的东西:
logger.info('Saved article' + str(title) + '.')
我也可能不时抛弃一些json:
logger.debug('Article: %s' % json.dumps(article_datas, indent=4))
它在我的开发机器上工作正常但在Heroku上没有。 我需要以不同的方式记录事物吗?为什么这不适用于Heroku?
答案 0 :(得分:0)
我终于发现我的Heroku应用程序需要将PYTHONIOENCODING
环境变量设置为utf-8
。
heroku config:set PYTHONIOENCODING=utf-8
有关stdout
编码的详细信息,请参阅this问题。