Sha*_*der 25 python werkzeug flask python-3.6
我正在尝试使用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!"
Run Code Online (Sandbox Code Playgroud)
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'
Run Code Online (Sandbox Code Playgroud)
dav*_*ism 38
从Werkzeug 0.11.15开始修复.确保您已安装最新版本的Werkzeug.pip install -U werkzeug.
这是一个已知的问题,已经报告给Werkzeug预期Python 3.6.在合并和发布该补丁或其他补丁之前,Werkzeug的开发服务器将无法在Python 3.6上运行.
检查OS是否可以在导入之前进行分叉,
ForkingMixIn因为Python 3.6将不再定义在操作系统上不可用时(python/cpython @ aadff9b)并且ImportError: cannot import name 'ForkingMixIn'将会发生.
与此同时,您可以使用外部WSGI服务器(如Gunicorn)运行您的应用程序.
pip install gunicorn
gunicorn my_app:app
Run Code Online (Sandbox Code Playgroud)
如果您需要页内调试器,则可以将应用程序包装在调试中间件中(只要您只使用一个工作程序运行Gunicorn).
| 归档时间: |
|
| 查看次数: |
8886 次 |
| 最近记录: |