기본 콘텐츠로 건너뛰기

Flask 1.02 버전 이상부터 app을 실행시키는 방법

Flask 1.02 버전 이상부터 app을 실행시키는 방법

플라스크(flask) 최신 버전으로 업데이트 되었습니다. (사실 꽤 오래전에...)

0버전대에서 1버전대로 올라왔으니 메이저 릴리즈라고 할 수있겠죠!!!!

문제는 이전에는 0.12 버전대에서는 잘 쓸일이 없었던 flask-cli가 main app 실행 방법으로 올라온 것입니다.

이건 뭐 문제 없는데, pyenv-virtualenv 와 엮이면서 flask를 인식하지 못하는 문제가 발생합니다.

특히 run.py 등으로 app 선언부만 따로 분리하는 경우죠.

사실 매우 매우 간단합니다.

flask-cli는 해당 app의 경로를 default python 경로에서 찾으려고 하지만(/usr/local/...), 우리는 개별적으로 설치된 pyenv에서 flask-cli가 설치되어 있으니 문제입니다.

나중에 nginx, gunicorn등을 추가할 때에는 달라지겠지만, 단순히 env를 먹여서 테스팅을 위해서는 다음과 같이 command를 env의 python에서 실행하여 경로가 정상적으로 반영될 수 있도록 합니다.

$ FLASK_APP=your_app.py python -m FLASK_APP=run.py flask run

물론 기존의 방식대로 app이 속해 있는 py 안에서 실행 메소드를 수행할 수 있겠지만, 파일을 분리하여 MVC 패턴등을 적용하는 경우에는 위의 방식이 유용하게 쓰입니다.

물론 dev 용이라는 걸 잊지마시고..ㅎ

from http://junolab.tistory.com/93 by ccl(A) rewrite - 2020-03-07 14:55:01

댓글

이 블로그의 인기 게시물

Flask 13. pythonanywhere에 배포하기

Flask 13. pythonanywhere에 배포하기 Login: PythonAnywhere It's always a pleasure to hear from you! Ask us a question, or tell us what you love or hate about PythonAnywhere. We'll get back to you over email ASAP. Sorry, there was an error connecting to the server. Please try again in a few moments... www.pythonanywhere.com from http://ohdowon064.tistory.com/124 by ccl(A) rewrite - 2020-03-11 15:54:10

외래어 정리

외래어 정리 [A] acacia 아카시아 academic 아카데믹 academy 아카데미 acanthus 아칸서스 accelerator 액셀러레이터 accent 악센트 acceptor 억셉터 access 액세스 accessory 액세서리 accordion 아코디언 ace 에이스 acetate 아세테이트 acetaldehyde 아세트알데히드 acetic acid 아세트(산) acetone 아세톤 acetyl 아세틸 acetylene 아세틸렌 Achilles tendon 아킬레스(건) acre 에이커 acrylic acid 아크릴(산) action 액션 active 액티브 acyl 아실 AD 에이디 adagio 아다지오 adapter 어댑터 ad + balloon 애드벌룬 address 어드레스 adenine 아데닌 adrenaline 아드레날린 advantage 어드밴티지 aerobic dance 에어로빅 댄스 aerofoil 에어로포일 aerosol 에어로졸 afghan 아프간 [편물] after + service 애프터서비스 agape 아가페 Ainu 아이누 air conditioner 에어컨(디셔너) airspray 에어스프레이 album 앨범 albumin 알부민 alcohol 알코올 aldehyde 알데히드 ALGOL 알골 algorism 알고리즘 alibi 알리바이 alkali 알칼리 alkaloid 알칼로이드 Allah 알라 allegory 알레고리 allegretto 알레그레토 allegro 알레그로 alleluia 알렐루야 Allergie 알레르기 alligator 앨리게이터 all-in-one 올인원 almond 아몬드 aloha 'oe 알로하 오에 Alpenhorn 알펜호른 alpha 알파 alphabet 알파벳 ...