使用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文档来配置的。
以上,第一次提问,不到之处,还望海涵。望不吝赐教。
werkzeug的一個bug。
https://github.com/pallets/we...
在python36後就有的,用python35吧。
樓下那個答案說的不對,因為./Python36/lib/site-packages/werkzeug/serving.py的寫法如下:
所以不存在大小寫的問題。
Python3以後,SocketServer這個模組的命名變成了socketserver。
在Python2.7的文檔開頭的NOTE裡面就有寫:
SocketServer — A framework for network servers
我是使用的2.7的Python,所以也沒有嘗試過,建議把模組的名字改一下再試試。
這種問題先進入virtualenv直接進在命令列敲python, 進去之後直接import SocketServer 看能不能導入,不能就肯定是名字錯了或者缺包。