본문 바로가기

Python/Library

[Flask] - Tutorial

* 목차

1. Python virtual environment 설정

2. Flask 설치

3. Flask 파일 작성

4. Flask 실행

 

 


* 본 문서는 Flask 공식 튜토리얼을 참조하였습니다.

* linux ubuntu 22.04 LTS server, vscode 환경에서 진행하였습니다.

Flask는 정말로 간단하게 Server를 만들 수 있습니다. 바로 시작하겠습니다.

 

0. python 설치

저는 EC2 ToyServer에서 진행합니다. python3.10이 깔려 있습니다.

 

1. Python virtual environment 설정

특별한 일이 없다면 시스템 python version과 같은 가상환경을 최신으로 맞춰줍시다.

python -m venv .venv

 

저는 python3으로 해야 시스템python이 실행됩니다.

python3 -m venv .venv

 

여기서 진행이 안되는군요. python3-venv가 필요하다고 합니다.

apt install python3.10-venv를 실행하자.

 

 

당황하지 않고 안내 문구를 잘 읽고 조치합시다.

sudo apt install python3.10-venv

 

이제는 python3로 venv를 설치할 수 있습니다.

python3 -m venv .venv

 

python 가상환경 설치 완료

 

가상환경을 활성화 시켜줍시다.

source .venv/bin/activate

 

가상환경이 활성화 되면 (.venv) 표식이 붙습니다. pip list를 실행하여 깨끗한 가상환경이 되었는지 확인해 봅시다.

pip list

 

pip 설치 목록이 깨끗하다.

 

2. Flask 설치

Flask 설치를 하실 때 pip install Flask로 대문자를 꼭 적어야 합니다. 조심해주세요.

pip install Flask

 

3. Flask 파일 작성

설치가 완료되면 Flask를 실행할 실행코드를 만들어 보겠습니다.

app.py 파일을 만들고 아래와 같은 내용을 작성해 봅시다.

from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello():
    return 'Hello, World!'

 

4. Flask 실행

 

실행하는 방법은 terminal에 직접 입력해서 실행 헷깔리면 안됩니다.  간단합니다. 터미널에 flask run이라 입력하면 flask가 실행합니다.

localhost로 실행되었다.

localhost가 아닌 IP를 지정해서 flask를 실행하시고 싶으신 분들은 --host option을 사용합시다. 그러면 이제 외부IP로도 볼 수 있습니다.

flask run --host=0.0.0.0

 

만약에 app.py라고 안만들고 다른 이름(예 : main.py)로 만들었다면 file명을 지정해서 실행하면 됩니다. (환경변수 설정)

flas --app main run

 

아예 python 자체에서 실행시키고 싶으시다면 다음과 같이 입력하면 됩니다.

from flask import Flask


app = Flask(__name__)


@app.route('/')
def hello():
    return "<p>Hello, World!</p>"


if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)

 

위의 방법들로 server를 실행시키고 Chrome에 ip를 입력하면 Helloworld를 만나 볼 수 있습니다!

localhost:5000으로 server 접속

 

 


* reference

https://flask.palletsprojects.com/en/2.2.x/tutorial/

 

'Python > Library' 카테고리의 다른 글

[Redis] - Tutorial with Python  (4) 2024.09.21
[Alembic] - Tutorial  (7) 2024.09.20
[Django] REST framework tutorial - Requests and Responses  (0) 2023.06.23
[Django] REST framework tutorial - Serialization  (0) 2023.06.23
[Flask] - Quickstart  (0) 2023.04.17