python - ImportError: No module named 'SocketServer' ?
阿神
阿神 2017-04-18 09:19:03
0
3
2457

使用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文档来配置的。

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

阿神
阿神

闭关修行中......

membalas semua(3)
大家讲道理

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.

Peter_Zhu

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.

阿神

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan