일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 802.3
- 802.3 이더넷
- Address Resolution Protocol
- adodb 설치
- AES 암호
- Alternatively build in profile or release modes to enable launching from the home screen
- Android Studio 몰입모드
- Android Studio 몰입모드 설정
- Android Studio 상태바 없애기
- Android Studio 자동 정렬
- android studio 자동정렬
- Android Studio 자동정렬 단축키
- Android Studio 코드 자동정렬
- Android Studio 타이틀바 없애기
- Android Studio 하단 바 없애기
- Android Studio 홈버튼 없애기
- Angler EK
- Angler EK 악성코드
- Angler EK이란
- apache2 tomcat9
- apache2 tomcat9 설치
- apache2 tomcat9 연동
- API
- apk 에러
- apk 오류
- ARP
- arp cache poisoning
- ARP Poisoning
- ARP Request
- ARP 구조
- Today
- Total
지나가는 이야기
[Flask] Error: Could not locate a Flask application. Use the 'flask --app' option, 'FLASK_APP' environment variable, or a 'wsgi.py' or 'app.py' file in the current directory. 오류 해결 본문
[Flask] Error: Could not locate a Flask application. Use the 'flask --app' option, 'FLASK_APP' environment variable, or a 'wsgi.py' or 'app.py' file in the current directory. 오류 해결
지나가는 이야기 2023. 7. 14. 12:56
오류 원인
Error: Could not locate a Flask application. Use the 'flask --app' option, 'FLASK_APP' environment variable, or a 'wsgi.py' or 'app.py' file in the current directory.
Flask 개발을 많이 해보지 않거나 처음 접하는 사람들의 경우 위 오류 문구를 한 번쯤을 보았을 거다. 위 오류를 해결하는 방법에 대해 빠르게 알아보자.
먼저 오류가 발생하는 이유는 문구에서도 확인할 수 있듯이 flask run 명령어를 이용해서 flask 실행 시 주최가 되는 파일의 이름이 wsgi.py 또는 app.py가 아니기 때문이다. 이 문제를 해결하기 위한 방법은 크게 2가지가 있으며 추가적으로 디버깅모드 활성화 설정도 아래 글을 보면 된다.
해결 방법
# 방법 1
가장 간단한 방법으로 메인이 되는 파이썬 파일의 이름을 wsgi.py 또는 app.py로 변경하면 된다. 하지만 이 방법은 파일명을 고정해야 하기 때문에 그렇게 추천하지 않아 flask의 환경 변수를 수정하는 2번째 방법을 추천한다.
# 방법 2 *추천*
두 번째 방법은 환경변수를 명령어로 변경하는 것이다.
# export FLASK_APP=[확장자를 제외한 파이썬 파일명]
$ export FLASK_APP=test
export 명령어를 이용하여 flask run을 통해 실행하는 파일을 wsgi.py 또는 app.py에서 내가 원하는 파일로 변경가능하다. 위 명령어는 기본 파일을 test.py로 변경하는 내용의 명령어다.
디버깅 모드 설정
개발을 하다 보면 디버깅 모드를 활성화해야 하는 경우가 있다.
# export FLASK_DEBUG=[0 또는 1]
# 0은 비활성화 1은 활성화
$ export FLASK_DEBUG=1
디버깅 모드 역시 export 명령어를 통해 설정할 수 있다. 0의 경우 비활성화(기본값)이며 1로 설정화면 활성화 하는 것이다.