관리 메뉴

솜씨좋은장씨

[Python] OSError: [Errno 48] Address already in use ( Flask ) 본문

Programming/Python

[Python] OSError: [Errno 48] Address already in use ( Flask )

솜씨좋은장씨 2020. 5. 6. 10:39
728x90
반응형

Flask로 API를 만들던 중 

(venv) (base) DongHyunui-MacBook-Pro:ElasticsearchAPI donghyunjang$ python3 app.py
 * Serving Flask app "app" (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 "app.py", line 97, in <module>
    app.run(host='0.0.0.0', debug=True)
  File "/Users/donghyunjang/PycharmProjects/ElasticsearchAPI/venv/lib/python3.7/site-packages/flask/app.py", line 990, in run
    run_simple(host, port, self, **options)
  File "/Users/donghyunjang/PycharmProjects/ElasticsearchAPI/venv/lib/python3.7/site-packages/werkzeug/serving.py", line 1030, in run_simple
    s.bind(server_address)
OSError: [Errno 48] Address already in use

위와 같은 오류가 발생하게 되었습니다.

OSError: [Errno 48] Address already in use

이미 run하려는 주소가 사용중이라는 오류입니다.

 

이를 해결하는 방법은 2가지 입니다.

 

1. 터미널을 사용하여 해결하는 경우

(터미널 사용이 어려운 분들은 2번째 방법을 참고해주세요!)

$ ps -ef | grep python

위처럼 명령어를 통해 PID 값 (주황색 네모) 을 알아내고 

$ kill 2490

kill 명령어를 통해 프로세스를 종료합니다.

$ python3 app.py

다시 실행해보면

(venv) (base) DongHyunui-MacBook-Pro:ElasticsearchAPI donghyunjang$ python3 app.py
 * Serving Flask app "app" (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
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!

다시 잘 실행이되는 것을 볼 수 있습니다.

 

2. Mac OS의 활성상태보기를 활용하기

터미널 사용이 어려운 분들은 Mac OS에 기본으로 제공되는 활성상태보기를 활용하시면 됩니다.

먼저 메뉴에서 기타 폴더 > 활성상태보기를 선택합니다.

( 이 메뉴의 위치는 개인마다 다를수 있습니다.)

그럼 이런 창이 하나 열립니다.

여기서 Python을 검색하면 현재 실행되고 있는 프로세스 2개가 나오게됩니다.

그 중 위에있는 Python을 더블 클릭합니다.

그럼 위와 같은 창이나옵니다.

여기서 종료를 클릭!

그럼 나오는 알림창에서 강제종료를 클릭하면

중단되었다고 나오며

실행중인 프로세스 중에 검색을 해봐도 나오지 않는 것을 볼 수 있습니다.

 

이제 다시 실행해보면!

(venv) (base) DongHyunui-MacBook-Pro:ElasticsearchAPI donghyunjang$ python3 app.py
 * Serving Flask app "app" (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
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!

잘 실행이되는 것을 확인할 수 있습니다!

 

읽어주셔서 감사합니다.

Comments