FLASK 설치 및 실행

오찬주·2024년 5월 2일
0

Study Log

목록 보기
1/6
post-thumbnail

들어가며 ...

수업시간에 배우고 실습하는 flask에 대해 알아보고자 한다.
개념과 실습 환경에서 일어났던 이슈를 기록할 것이다!
(계속해서 업데이트할 예정!)

flask 개념

웹 어플리케이션 개발을 위해 사용하는 Web Framework 중 하나로, Python을 사용한다!

💡 Framework

  • 소프트웨어의 목적에 따라 효율적으로 코드의 구조를 짜는 개발 방식
  • frame(틀) + work(일), 어떠한 일을 처리하기 위한 틀을 제공

💡 Web Framework

  • 웹페이지, 어플리케이션 등의 웹 서비스의 개발을 보조하기 위한 어플리케이션 프레임워크
  • Python -> Django, Flask | Java -> Java Spring

flask 왜 사용할까?

  • 가볍게 배울 수 있고, 가볍게 사용할 수 있으며 가볍게 배포할 수 있다! 간단하고 직관적인 API를 갖추고 있어 개발자가 웹 애플리케이션 구축을 빠르게 시작할 수 있다.
  • Django에 비해서 기능이 적어 복잡한 어플리케이션을 만들 때, 설정해 줄 것이 많다는 한계를 지닌다.

-> 그렇기에 가벼운 프로젝트나 연습용으로 적당한 프레임워크다!


python flask- 가상환경 설정

가상환경을 왜 사용할까?
1. 다른 프로젝트에서 사용되는 패키지와 버전 충돌을 막아준다! : 하나의 PC에서 돌고 있는 두 애플리케이션이 있을 때 서로 다른 버전의 라이브러리를 필요로 하는 경우, 다른 버전의 패키지를 host 머신에 설치할 때 conflicts가 발생한다. 또한, 라이브러리 버전 변경을 host 머신에 직접 하면 그동안 잘 되던 프로그램이 안될수도 있다...
2. 독립적인 패키지 관리: 각각의 프로젝트마다 필요한 패키지를 독립적으로 설치하고 관리하기 위함!

우선, 나는 MacOS 🍎를 사용하고 이미 python이 설치되어있음을 알린다

VS Code를 실행해 파이썬이 설치되어있는지 확인한다.

python --version or python3 --version

설치가 안되어있다면 설치부터 해야 한다!

Virtualenv 설치

pip install virtualenv

virtualenv : 가상환경 매니저로 프로젝트 마다 다른 환경에서 실행을 시킬 수 있다! 필요한 것들을 설치하는 과정(flask도 ㅎㅎㅎ) 에서 평소에 사용하던 노트북의 시스템이나 패키지들의 상태를 변화시키고 싶지는 않을 때 사용한다.

Virtualenv 실행

python -m venv 생성할가상환경명 or
python3 -m venv 생성할가상환경명
flask1으로 실행했다.

가상환경 내에 flask 설치

pip install flask

가상환경 실행

source ./flask1/bin/activate (MacOS 기준)

이때 주의할 점은 실행 코드에도 이미 나와있지만,
flask1 폴더에 들어가서 실행하는 것이 아닌 그 바로 밖에서 실행해야 한다!

앞에 (가상환경명)이 뜨면 성공!


[나의 폴더 구조]

flask 실행

flask 폴더로 들어가 flask run

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는 app.py를 찾아 실행하는데 나는 app.py가 아닌 hw3.py가 존재하기 때문이다.

이를 해결하기 위해 터미널에

export FLASK_APP=hw3.py

를 치고 다시 run을 하면 잘된다!

그런데 난 hw3.py에

if __name__ =='__main__':
     app.run(debug=True)

을 입력했는데 flask run을 하면 Debug mode: off가 되어있는걸 확인할 수 있다.. 이렇게 된다면 내가 코드를 수정하고 저장해도 바로바로 적용이 안된다 .. 서버를 재시작해야 한다. 그렇기에 debug mode가 on이 되어야 한다!

debug mode

이미 hw3.py에 있는데 off인 이유는 환경 변수를 설정해주지 않아서다.

이를 위해 터미널에 명령어를 입력해야 한다.

export FLASK_DEBUG=1

쨘! 이제 잘 된다 !!

flask 종료

deactivate
위치에 상관 없이 입력하면 종료된다.

profile
프론트엔드 엔지니어를 희망합니다 :-)

0개의 댓글

관련 채용 정보