Python中ModuleNotFoundError: No module named 'SocketServer'问题解决
2017-03-09 09:52
2261 查看
引言: 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) 碰到的错误如下:
经过一番查找之后,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
问题解决之道,就是大胆推理,小心求证,最终解决问题。[/code]
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. 启动服务,验证问题
6. 总结
问题解决之道,就是大胆推理,小心求证,最终解决问题。[/code]
相关文章推荐
- pyhton 安装pip 以及 numpy (解决python:ModuleNotFoundError:No module named "numpy" 等类似缺包问题
- python3.6.0 win10 64位 scrapy ModuleNotFoundError: No module named 'win32api' 问题解决
- python3.6.0 win10 64位 scrapy ModuleNotFoundError: No module named 'win32api' 问题解决
- tensorFlow解决问题ImportError: No module named 'tensorflow.python.pywrap_tensorflow_internal'
- python添加module问题解决no module named XXX
- 完美解决Python各种no module named "XX"问题
- Python2.7以上版本解决 "ImportError: No module named MySQLdb"问题
- 【python】解决No module named _sqlite3的问题
- modulenotfounderror: no module named 'matplotlib._path'问题的解决
- 关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法
- 解决ModuleNotFoundError: No module named 'idna'问题
- 解决java调用python的Cannot import site module and its dependencies: No module named site问题
- 6、Python学习笔记--‘No module named natsort’问题解决
- Django执行python manage.py syncdb时,出行No module named MySQLdb问题解决方法
- 5、Python学习笔记--‘No module named setuptools’问题解决
- python命令行执行 .py文件提示ModuleNotFoundError: No module named 'XXX' 解决方法
- Python Error: “ImportError: No module named six”,用自动安装解决依赖问题
- 有效解决windows10安装好Appium-Python-Client后,pycharm运行时提示ModuleNotFoundError: No module named 'appium'
- python 解决No module named 'MySQLdb'的问题
- python报错问题--ModuleNotFoundError: No module named 'pygal.i18n'