cari

Rumah  >  Soal Jawab  >  teks badan

python - ImportError: No module named 'SocketServer' ?

使用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 <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 "C:/Users/jowu/Desktop/PyWeb/PyWeb.py", line 12, in <module>
    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 <module>
    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文档来配置的。

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

阿神阿神2802 hari yang lalu2462

membalas semua(3)saya akan balas

  • 大家讲道理

    大家讲道理2017-04-18 09:21:03

    Pepijat dalam werkzeug.
    https://github.com/pallets/we...
    Ia tersedia selepas python36, gunakan python35.

    Jawapan di bawah adalah salah, kerana ./Python36/lib/site-packages/werkzeug/serving.py ditulis seperti berikut:

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

    Jadi tiada masalah kes.

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:21:03

    Selepas Python 3, nama modul SocketServer ditukar kepada socketserver.
    Ia ditulis dalam NOTA pada permulaan dokumen Python2.7:
    SocketServer — Rangka kerja untuk pelayan rangkaian
    Saya menggunakan Python 2.7, jadi saya belum mencubanya nama modul Cuba lagi nanti.

    balas
    0
  • 阿神

    阿神2017-04-18 09:21:03

    Untuk masalah sebegini, mula-mula masukkan virtualenv dan taip python terus pada baris arahan Selepas memasukkan, terus import SocketServer untuk melihat jika ia boleh diimport, mesti nama itu salah atau pakej hilang.

    balas
    0
  • Batalbalas