gpt4 book ai didi

python - 在 Python 3.6 中运行 Flask 开发服务器会引发 SocketServer 和 ForkingMixIn 的 ImportError

转载 作者:IT老高 更新时间:2023-10-28 22:21:46 24 4
gpt4 key购买 nike

我正在尝试使用 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'

最佳答案

此问题自 Werkzeug 0.11.15 起已修复。确保您已安装最新版本的 Werkzeug。 pip install -U werkzeug.


这是一个已知问题,即 reported to Werkzeug期待 Python 3.6。在合并和发布该补丁或其他补丁之前,Werkzeug 的开发服务器将无法在 Python 3.6 上运行。

Check if OS can fork before importing ForkingMixIn since Python 3.6 will no longer define that when it is not available on the operating system (python/cpython@aadff9b) and ImportError: cannot import name 'ForkingMixIn' will occur.

同时,您可以使用 Gunicorn 等外部 WSGI 服务器运行您的应用程序。

pip install gunicorn
gunicorn my_app:app

您可以将您的应用程序包装在 debug middleware 中如果您需要页内调试器(只要您只使用一名工作人员运行 Gunicorn)。

关于python - 在 Python 3.6 中运行 Flask 开发服务器会引发 SocketServer 和 ForkingMixIn 的 ImportError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39214395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com