[PYTHON] Fehler im Kolben OSError: [Errno 98] Adresse wird bereits verwendet

Phänomen

Beim Erstellen einer Flask-Anwendung wurde der Titelfehler angezeigt, als ich das Modul bei laufendem Server mehrmals geändert habe.

Fehlermeldung

OSError: [Errno 98] Address already in use

Es ist immer noch eine Nachricht, aber es scheint, dass "ich die Adresse, die ich jetzt verwenden möchte, nicht verwenden kann, weil ich sie bereits an anderer Stelle verwende." Suchen Sie in einem solchen Fall nach der Fehlermeldung, indem Sie vermuten, dass der Port voll ist.

Als Ergebnis der Suche wurden die folgenden Artikel getroffen. https://qiita.com/ringCurrent/items/2413c795372baa7b479d

Die Fehlernummern unterscheiden sich zwischen "48" und "98", aber es handelt sich wahrscheinlich um einen Umgebungsunterschied, sodass ich die Lösung implementieren werde, ohne mir darüber Gedanken zu machen.

  1. Installieren Sie den Befehl "lsof" Es scheint, dass der Befehl lsof verwendet wird, um den verwendeten Port zu überprüfen, aber er scheint sich nicht in der von Ihnen verwendeten Docker-Umgebung zu befinden.
(base) root@e8cf64ce12e9:/home/continuumio# lsof -i :5000
bash: lsof: command not found

Schnell installieren. (Verwenden Sie apt, weil das Betriebssystem Ubuntu ist)

(base) root@e8cf64ce12e9:/home/continuumio# apt install lsof
Reading package lists... Done
  1. Suchen Sie nach doppelten Ports Überprüfen Sie die Ports, die mehrmals verwendet werden. Überprüfen Sie den Code, da der Startport beim Starten von Flask angegeben wird.

main.py


if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000, debug=True)

Überprüfen Sie den Prozess mit Port 5000 mit dem Befehl lsof (Beachten Sie, dass eine große Menge extrahiert wird, wenn Sie das Ziel nicht mit der Option -i einschränken.)

(base) root@e8cf64ce12e9:/home/continuumio# lsof -i :5000
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
python  881 root    4u  IPv4 237229      0t0  TCP *:5000 (LISTEN)
python  901 root    4u  IPv4 237229      0t0  TCP *:5000 (LISTEN)
python  901 root    5u  IPv4 237229      0t0  TCP *:5000 (LISTEN)
  1. Beenden Sie unnötige Prozesse aus der extrahierten Liste.

Überprüfen Sie die Details mit dem Befehl "man"

(base) root@e8cf64ce12e9:/home/continuumio# kill -9 901

das ist alles

Recommended Posts

Fehler im Kolben OSError: [Errno 98] Adresse wird bereits verwendet
Datum der bereits verwendeten Adresse Fehler in der Flasche
Fehler bei bereits verwendeter Adresse beheben
-Lösung für bereits verwendete Adresse
Verwenden Sie <input type = "date"> mit Flask
Wenn Sie einen Fehler erhalten: Dieser Port wird bereits verwendet. In Django
Mindestkenntnisse zur Verwendung von Form with Flask
Tipps, wenn Amateure Flask in Visual Studio verwenden
Verwenden Sie eine benutzerdefinierte Fehlerseite mit Python / Tornado
Fehler in random.shuffle
Fehler im Pyinstaller
Fehler in TensorBoard