報錯信息如下:
* Serving Flask app "file_server" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
Traceback (most recent call last):
File "E:\Python學習\day\11-14\文件上傳\file_server\manage.py", line 18, in <module>
app.run(host='0.0.0.0',port=8000,debug=True)
File "D:\Python39\lib\site-packages\flask\app.py", line 990, in run
run_simple(host, port, self, **options)
File "D:\Python39\lib\site-packages\werkzeug\serving.py", line 1030, in run_simple
s.bind(server_address)
OSError: [WinError 10013] 以一種訪問權限不允許的方式做了一個訪問套接字的嘗試。
我這是使用flask上傳文件時候報錯的,使用了8000端口,這種情況就是端口占用,通過命令找出來吧
C:\Users\Administrator>netstat -ano|findstr 8000
TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING 15652
UDP 0.0.0.0:8000 *:* 15652
C:\Users\Administrator>tasklist |findstr 15652
KGService.exe 15652 Console 8 16,484 K
如圖:
C:\Users\Administrator>taskkill /pid 15652/F
成功: 已終止 PID 為 15652的進程。
第一條命令找出8000端口對應的PID進程為15652,第二條命令找出進程對應的詳細信息,可以看到這個進程對應的是酷狗服務,因為酷狗這個進程不太重要,所以我們用taskkill pid的方式把它關掉,關掉就可以運行Django程序了,可能酷狗還會有其它進程會重啟這個服務,把酷狗的其它進程一起關掉就可以了
由於酷狗經常占用8000端口,我們一開酷狗Django就運行不了了,這時我們也可以考慮更改Django運行端口
python manage.py runserver 8000
或者
python manage.py runserver 0.0.0.0:8000
在pycharm中可以直接在Edit Configuration中的Port中直接指定
我直接修改flask代碼端口為8001,ok