我正在尝试使用Python 3.6运行基本的Flask应用程序。但是,我得到ImportError: cannot import name 'ForkingMixIn'
。使用Python 2.7或3.5运行时,我不会收到此错误。如何使用Python 3.6运行Flask?
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
Traceback (most recent call last):
File "C:\Python36\lib\site-packages\werkzeug\serving.py", line 65, in <module>
from SocketServer import ThreadingMixIn, ForkingMixIn
ImportError: No module named 'SocketServer'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File ".\fsk.py", line 9, in <module>
app.run()
File "C:\Python36\lib\site-packages\flask\app.py", line 828, in run
from werkzeug.serving import run_simple
File "C:\Python36\lib\site-packages\werkzeug\serving.py", line 68, in <module>
from socketserver import ThreadingMixIn, ForkingMixIn
ImportError: cannot import name 'ForkingMixIn'
答案 0 :(得分:37)
自Werkzeug 0.11.15起修复。确保您已安装最新版本的Werkzeug。 <div uib-popover-html="'<img src="*image_location*" />'">
<div uib-popover-html="'<img src='*image_location*' />'">
<div uib-popover-html="'<img src=`*image_location*` />'">
。
这是一个已知问题reported to Werkzeug,预计Python 3.6。在合并和发布该补丁或其他补丁之前,Werkzeug的开发服务器将无法在Python 3.6上运行。
检查操作系统是否可以在导入
<div uib-popover-html="'<*inline html elements go here*>'">
之前进行分叉,因为当Python 3.6在操作系统(python/cpython@aadff9b)上不可用时将不再定义,并且pip install -U werkzeug
将会发生。
与此同时,您可以使用外部WSGI服务器(如Gunicorn)运行您的应用程序。
ForkingMixIn
如果您需要页内调试器,您可以将应用程序包装在debug middleware中(只要您只使用一名工作人员运行Gunicorn)。