2022. 8. 24. 14:12ㆍ문제 해결
Address already in use Port 5000 is in use by another program. 플라스크 에러 해결하기 [Flask errors]
Flask를 실행했는데 Address already in use Port 5000 is in use by another program. Either identify and stop that program, or start the server with a different port. On macOS, try disabling the 'AirPlay Receiver' service from System Preferences -> Sharing.

이런 에러 코드가 나올 때 오류의 원인과 오류 해결 방법은 다음과 같다.
✅ 오류의 원인
플라스크 서버는 localhost:5000이라는 주소에서 구동되는데 내가 이전에 만든 프로젝트에서 이 주소를 사용하고 있어서 프로젝트 간 주소 충돌로 발생한 오류이다.
✅ 오류 해결 방법 3가지
위 오류 코드에도 언급되어있 듯이
1️⃣ 첫 번째, localhost:5000에서 실행중인 프로젝트를 중지시킨다.
2️⃣ 두 번째, 5000포트는 이미 사용 중이니 5000포트 말고 다른 포트 예를 들어 8080포트에서 실행하든지 한다.
이 방법이 좀 더 쉬우므로 나는 이걸로 오류를 해결하겠다.
예를 들면 아래와 같은 플라스크 초기 코드가 있다고 하자.

포트번호를 바꾸고 싶으면 아래 표시된 부분을 바꿔주면 된다.

사용하고 있는 포트와는 충돌이 나지 않아야 하므로 이전 프로젝트에서 사용한 포트번호인 8080번으로 하겠다. 아래는 바꾸고 난 후 코드와 브라우저 실행화면.

실행버튼 누르고 아무 브라우저 켜서 localhost:8080으로 접속


브라우저 실행화면

아주 잘 실행되는 것을 확인할 수 있다.
3️⃣ 세 번째, 맥북 사용자라면 위 오류코드에도 나와있는 방법대로 Mac에서 Apple 메뉴 > 시스템 설정(System Preferences) > 공유(Sharing)로 이동해 AirPlay 수신모드(AirPlay Receiver)를 사용 안함으로 설정하면 된다.


localhost:5000에 접속해보면 다음과 같이 잘 실행되는 것을 확인할 수 있다.


