cannot import name ‘ForkingMixIn’ from ‘socketserver’

python3.8报错

ModuleNotFoundError: No module named 'SocketServer'

ImportError: cannot import name 'ForkingMixIn' from 'socketserver' (C:\python3.8\lib\socketserver.py)

Traceback (most recent call last):

  File "F:\project-python-dev\todo-master\venv\lib\site-packages\werkzeug\serving.py", line 65, in <module>

    from SocketServer import ThreadingMixIn, ForkingMixIn

ModuleNotFoundError: No module named 'SocketServer'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "F:/project-python-dev/todo-master/app.py", line 137, in <module>

    app.run()

  File "F:\project-python-dev\todo-master\venv\lib\site-packages\flask\app.py", line 827, in run

    from werkzeug.serving import run_simple

  File "F:\project-python-dev\todo-master\venv\lib\site-packages\werkzeug\serving.py", line 68, in <module>

    from socketserver import ThreadingMixIn, ForkingMixIn

ImportError: cannot import name 'ForkingMixIn' from 'socketserver' (C:\python3.8\lib\socketserver.py)

问题的分析

    从错误信息可以看到,直接的原因和问题是SocketServer的module未安装。 ImportError中的ForkingMixin的类是属于SocketServer,所以问题就应该在SocketServer中。  按照这个思路来进行分析和查找:

     经过一番查找之后,pythohn2 下面是使用SocketServer, Python3 下是使用socketserver.

    由于Python版本为3, 执行上述命令如下:

发生了什么情况,为什么找不到呢?socketserver应该在的。

4.  重新分析

    定位Python的安装目录,查找socketserver.py, 在python_home\Lib下找到了对应的socketserver.py文件,故这个包其实应该是按照好了,所以应该转换方向重新分析问题,于是把焦点重新定位于flask本身,也许是缺少其他类似包吧:

    故经过一番查找,werkzeug的版本问题导致的,重新安装新版本

pip install -U werkzeug

pip install gunicorn

大T笔记所有文章均为本人原创,转载请您注明来源,并留下原文链接地址,是对我的尊重,也是对知识的尊重,谢谢!
大T笔记 » cannot import name ‘ForkingMixIn’ from ‘socketserver’

大T笔记-我的个人互联网创业和自由职业之路

关于我 我的百宝箱
享更多特权,建议使用 QQ 登录