由于某种原因,快速启动Flask应用程序失败 [英] Quickstart Flask application failing for some reason

查看:590
本文介绍了由于某种原因,快速启动Flask应用程序失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为一个名为 flask-test 的Flask应用程序创建了一个新的 virtualenv 环境,这样我就可以做一些测试。试想一下,当我运行quickstart应用程序时,出现以下错误:

 荣誉 -  MacBook-Air-2:桌面荣誉$ cd flask-testing 
荣誉-MacBook-Air-2:烧瓶测试荣誉$ source bin / activate
(烧瓶测试)荣誉 - MacBook-Air-2:烧瓶测试荣誉$ python app .py
*使用stat
重新启动*调试器处于活动状态!
Traceback(最近一次调用的最后一个):
在< module>文件中的app.py,第10行。
app.run()
运行$ b的文件/Users/Honors/Desktop/flask-testing/lib/python3.5/site-packages/flask/app.py,第772行$ b run_simple(host,port,self,** options)
文件/Users/Honors/Desktop/flask-testing/lib/python3.5/site-packages/werkzeug/serving.py,第633行,在run_simple
application = DebuggedApplication(application,use_evalex)
文件/Users/Honors/Desktop/flask-testing/lib/python3.5/site-packages/werkzeug/debug/__init__.py ,第169行,在__init__
中,如果self.pin是None:
文件/Users/Honors/Desktop/flask-testing/lib/python3.5/site-packages/werkzeug/debug/__init__。 py,第179行,在_get_pin
self._pin,self._pin_cookie = get_pin_and_cookie_name(self.app)
文件/Users/Honors/Desktop/flask-testing/lib/python3.5/site在$ get_pin_and_cookie_name
h.update('cookiesalt')
中的第96行中,/package/werkzeug/debug/__init__.pyTypeError:在哈希之前必须对Unicode对象进行编码

app.py $ b $ pre $ from flask import Flask
app = Flask(__ name__)

@ app.route('/')
def hello_world():
return'Hello World!'

if __name__ =='__main__':
app .debug = True
app.run()

pip list 表示环境的内容是:

  Flask(0.10.1)
Flask-Login(0.3.2)
Flask-WTF(0.12)
itsdangerous(0.24)
Jinja2(2.8)
MarkupSafe(0.23)
点(7.1。 2)
setuptools(18.2)
Werkzeug(0.11)
wheel(0.24.0)
WTForms(2.0.2)

我所有的其他虚拟环境都按预期运行。

解决方案

<看起来像一个bug:相关的问题 Flak 0.10.1和'app.debug = True'的Werkzeug 0.11将不会开始。 #798



我使用python3.5创建了一个新的虚拟环境,并且遇到同样的错误,但是如果我不使用调试模式,那很好。

正如问题所述,将Werkzeug降级到0.10.4可以起作用。你可以试一下。


I created a fresh virtualenv environment for a Flask application called flask-test so that I could do some testing. Imagine my surprise when, running the quickstart application, I get the following error:

Honorss-MacBook-Air-2:Desktop Honors$ cd flask-testing
Honorss-MacBook-Air-2:flask-testing Honors$ source bin/activate
(flask-testing)Honorss-MacBook-Air-2:flask-testing Honors$ python app.py
* Restarting with stat
* Debugger is active!
Traceback (most recent call last):
File "app.py", line 10, in <module>
app.run()
File "/Users/Honors/Desktop/flask-testing/lib/python3.5/site-packages/flask/app.py", line 772, in run
run_simple(host, port, self, **options)
File "/Users/Honors/Desktop/flask-testing/lib/python3.5/site-packages/werkzeug/serving.py", line 633, in run_simple
application = DebuggedApplication(application, use_evalex)
File "/Users/Honors/Desktop/flask-testing/lib/python3.5/site-packages/werkzeug/debug/__init__.py", line 169, in __init__
if self.pin is None:
File "/Users/Honors/Desktop/flask-testing/lib/python3.5/site-packages/werkzeug/debug/__init__.py", line 179, in _get_pin
self._pin, self._pin_cookie = get_pin_and_cookie_name(self.app)
File "/Users/Honors/Desktop/flask-testing/lib/python3.5/site-packages/werkzeug/debug/__init__.py", line 96, in get_pin_and_cookie_name
h.update('cookiesalt')
TypeError: Unicode-objects must be encoded before hashing

The contents of app.py are:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.debug = True
    app.run()

pip list says that the contents of the environment are:

Flask (0.10.1)
Flask-Login (0.3.2)
Flask-WTF (0.12)
itsdangerous (0.24)
Jinja2 (2.8)
MarkupSafe (0.23)
pip (7.1.2)
setuptools (18.2)
Werkzeug (0.11)
wheel (0.24.0)
WTForms (2.0.2)

All of my other virtual environments run as expected.

解决方案

Seems like a bug: the related issue Werkzeug 0.11 with Flask 0.10.1 and 'app.debug = True' won't start. #798

I create a new virtual environment using python3.5 and meet the same error, but if I don't use the debug mode, it's fine.

And as the issue says, downgrade Werkzeug to 0.10.4 seem works. You can have a try.

这篇关于由于某种原因,快速启动Flask应用程序失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆