python - ImportError: No module named 'SocketServer' ?

 虚假爱情2502873563_918 发布于 2022-10-27 20:53

使用pycharm建立flask工程后无法运行默认的hello world!模板,出现的错误:

图片不太清晰,补发一份文字版;

C:\Users\jowu\virtualEnvironment\Scripts\python.exe C:/Users/jowu/Desktop/PyWeb/PyWeb.py
Traceback (most recent call last):
  File "C:\Users\jowu\AppData\Local\Programs\Python\Python36\lib\site-packages\werkzeug\serving.py", line 65, in 
    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 "C:/Users/jowu/Desktop/PyWeb/PyWeb.py", line 12, in 
    app.run()
  File "C:\Users\jowu\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py", line 828, in run
    from werkzeug.serving import run_simple
  File "C:\Users\jowu\AppData\Local\Programs\Python\Python36\lib\site-packages\werkzeug\serving.py", line 68, in 
    from socketserver import ThreadingMixIn, ForkingMixIn
ImportError: cannot import name 'ForkingMixIn'

Process finished with exit code 1

python版本:3.6

pycharm 默认设置:

出现的问题是:ImportError: No module named 'SocketServer'

google之后发现可能是virtualenv没有配置好,但是尝试在Default setting中删除重新配置也还是出现同样的问题。ps.配置方法是根据pycharm文档来配置的。

以上,第一次提问,不到之处,还望海涵。望不吝赐教。

3 个回答
  • 这种问题首先进入virtualenv直接进在命令行敲python, 进去之后直接import SocketServer 看能不能导入,不能就肯定是名字错了或者缺包。

    2022-10-29 07:16 回答
  • Python3以后,SocketServer这个模块的命名变成了socketserver。
    在Python2.7的文档开头的NOTE里面就有写:
    SocketServer — A framework for network servers
    我是使用的2.7的Python,所以也没有尝试过,建议把模块的名字改一下再试试。

    2022-10-29 07:16 回答
  • werkzeug的一个bug。
    https://github.com/pallets/we...
    在python36后就有的,用python35吧。

    楼下那个答案说的不对,因为./Python36/lib/site-packages/werkzeug/serving.py的写法如下:

    try:
        from SocketServer import ThreadingMixIn, ForkingMixIn
        from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
    except ImportError:
        from socketserver import ThreadingMixIn, ForkingMixIn
        from http.server import HTTPServer, BaseHTTPRequestHandler

    所以不存在大小写的问题。

    2022-10-29 07:18 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有