반응형

Python Flask를 이용해서 REST 서비스를 구현해 보겠습니다.

 

먼저 Python 3.x가 설치되어 있다고 가정하고 진행해 보겠습니다.

 

Python 의 가상환경을 이용할 예정이며, 테스트 환경은 Windows 10 이지만, OS 의 영향이 거의 없을 듯 합니다.

 

Python 의 가상환경은 가상으로 isolated 된 실행 환경을 생성해 주며, 각 환경 별로 다른 모듈을 설치하여 실행할 수 있게 해줍니다.

 

 

프로젝트 실행 위치를 myApp 폴더라고 가정하겠습니다.

 

명령프롬프트를 사용해서 해당 위치로 이동후에 아래 명령어로 가상환경을 생성합니다.

 

> python3 -m venv venv

마지막의 venv는 가상환경이 생성되는 경로이기 때문에 원하시는 폴더로 변경해서 지정할 수 있습니다.

 

 

가상환경을 실행합니다. (윈도우)

> venv\Scripts\activate

맥OS나 리눅스에서는 다음과 같이 실행합니다.

$ source venv/bin/activate

 

참고로 가상환경을 종료할 때는 deactivate 명령어를 입력하면 됩니다.

 

 

실행후에는 명령프롬프트 앞쪽에 가상환경에 대한 정보가 나타납니다.

(venv) >

 

Flask 모듈을 설치합니다.

(venv) > pip3 install flask

 

 

간단한 Flask 앱을 만들어 보겠습니다.

 

먼저 app.py 파일을 생성해서 편집기로 열고 다음과 같이 입력합니다.

from flask import Flask

app = Flask(__name__)

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

 

그리고 가상환경의 명령프롬프트에서 다음과 같이 입력합니다. (윈도우)

> set FLASK_APP=app
> flask run

 

맥OS나 리눅스라면 다음과 같이 입력합니다.

$ export FLASK_APP=app
$ flask run

 

실행시키면 어떤 포트에서 실행 중인지에 대한 정보가 화면에 나타납니다.  참고로 default 는 5000포트인데, 맥에서는 AirPlay Receiver 서비스가 해당 포트를 사용중이기 때문에, 서비스를 중지시키거나 다른 포트를 사용해야 합니다.

 

Monterey 에서 서비스 중지시키는 방법:

System Preferences > Sharing > AirPlay Receiver 체크 해제

 

포트 지정은 -p 옵션을 사용합니다.

$ flask run -p 4999

 

웹 브라우저를 열어 아래 주소를 입력해서 결과를 확인해 봅니다.

 

http://localhost:5000 

 

브라우저에 Hello World 라고 나오면 성공입니다.

 

 

 

 

 

반응형

+ Recent posts