Python中ModuleNotFoundError: No module named 'SocketServer'问题解决

    xiaoxiao2021-03-25  140

    引言: Flask是Python中鼎鼎大名的web框架,今天试手了一下,可是碰到了一个问题,一波三折方才解决.....

    1.  背景介绍

       Flask Web框架, Python 3.6, 开发一个简单的页面

    2.   页面的代码以及碰到的错误:

      页面代码如下;

    from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run(debug=True)  碰到的错误如下: D:\Dev\pythonspace\indexdata>python indexdata.py Traceback (most recent call last): File "D:\Program Files\python\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 "indexdata.py", line 12, in <module> app.run(debug=True) File "D:\Program Files\python\lib\site-packages\flask\app.py", line 758, in run from werkzeug.serving import run_simple File "D:\Program Files\python\lib\site-packages\werkzeug\serving.py", line 68, in <module> from socketserver import ThreadingMixIn, ForkingMixIn ImportError: cannot import name 'ForkingMixIn'3.  问题的分析

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

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

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

    D:\Dev\pythonspace\indexdata>pip install socketserver Collecting SocketServer Could not find a version that satisfies the requirement SocketServer (from versions: ) No matching distribution found for SocketServer  发生了什么情况,为什么找不到呢?socketserver应该在的。

    4.  重新分析

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

        故经过一番查找,找到类似的问题解决方案:

        >>pip install -U werkzeug

      >> pip install gunicorn

     

     5. 启动服务,验证问题

        >> python indexdata.py

       

    6.  总结

       问题解决之道,就是大胆推理,小心求证,最终解决问题。

    转载请注明原文地址: https://ju.6miu.com/read-8949.html

    最新回复(0)