서버를 구현하는 데에 있어서 JSP 또는 node.js를 사용하는 경우가 많은데요.
저는 그 두 가지보다 훨씬 더 간단하게 서버를 만들 수 있는 flask를 이용해서 서버를 만들어 보려고 합니다.
flask를 써보고 든 생각은 서버 구축이 이렇게 간단해도 되는 것인가...? 하는 것이었습니다,,
Flask란?
python으로 작성된 마이크로 웹 프레임워크로 Werkzeug 툴킷과 Jinja2 템플릿 엔진에 기반을 두고 있습니다.
특별한 도구나 라이브러리가 필요없이 python만 있으면 편하게 사용이 가능하기 때문에 마이크로 프레임 워크라고 불리는 것입니다.
1. 가상 환경 (virtualenv) 실행
저는 현재 flask 로 구현하려는 서버에서 NLP 모델을 실행해야 하기 때문에 해당 모델이 돌아가는데 필요한 환경을 설정해 주어야 합니다.하지만 여러가지 필요한 것들을 설치하는 과정에서 제가 평소에 사용하던 노트북의 시스템이나 패키지들의 상태를 변화시키고 싶지는 않아서 virtualenv라는 가상환경 매니저를 통해 가상환경을 만들어 해당 환경에 필요한 것들을 pip으로 설치하였습니다.virtualenv를 사용하게 되면 프로젝트 마다 다른 환경에서 실행을 시킬 수 있다는 장점이 있습니다.
1) vitrualenv 설치하기
mac os를 사용하시는 분들은 터미널에, 윈도우를 사용하시는 분들은 cmd창에 다음 명령어를 입력해 virtualenv를 설치해 주세요.
pip install virtualenv
2) 가상 환경 만들기
virtualenv [가상환경_이름]
위의 명령어를 통해 가상환경을 생성합니다.
예를 들어, venv-python3 라는 가상환경을 만든다면 아래와 같이 입력해주면 됩니다.
virtualenv venv-python3
3) 가상 환경 활성화
cd [만들었던 가상환경 이름]
source bin/activate
저는 만들었던 가상환경에 해당하는 디렉토리에 들어가서 가상환경을 활성화하기 때문에 cd 명령어로 해당 디렉토리에 들어가 활성화해줍니다.
가상환경이 활성화되면 이렇게 활성화된 가상환경의 이름이 앞에 뜨게 됩니다.
이제 해당 가상 환경 내에 필요한 것들을 pip을 이용해 설치해 주면 됩니다.
4) 가상 환경 비활성화
가상 환경에서 나가 기본적인 환경으로 돌아가기 위해서는아래의 명령어로 deactivate해주어야 합니다.
deactivate
2. Flask 설치하기
이제 활성화된 가상환경에서 우리가 필요한 flsk를 설치해 줍니다.
pip install Flask
이제 설치된 flask를 한 번 사용해 보도록 하겠습니다.
저는 HelloWorld.py라는 파일을 만들고 아래의 내용을 넣어주었습니다. (이는 플라스크 도큐먼트에 있는 예시 코드입니다)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
Flask를 import하고 route() 데코레이터를 사용해 어떤 URL에서 아래의 함수를 실행하는지 표시해 주었습니다.
만약 @app.route('/hello')라고 작성했다면 hello_world() 함수는 http://127.0.0.1:5000/hello 에 접속할 때 실행이 될 것입니다.
그럼 HelloWorld.py를 실행해 보겠습니다.
제대로 실행이 되고 있습니다. 이제 브라우저를 열고 http://127.0.0.1:5000/ 로 이동해 보면 다음과 같이 화면이 잘 나오는것이 확인됩니다!
'컴공 이것 저것' 카테고리의 다른 글
[intelliJ] Mac 단축키 정리 (0) | 2021.12.23 |
---|---|
[Github] README.md로 Github 프로필 꾸미기 (4) | 2021.05.19 |
No Silver Bullet (은총알은 없다) (0) | 2021.03.27 |
Github.io로 포트폴리오 사이트 만들기 (2) | 2021.02.12 |