구름톤 딥다이브 PBL 과제2 수행 결과를 포함해 정리한 글입니다.
0. Flask
Python 기반의 웹 프레임워크
- Django와 더불어 Python 웹 프레임워크의 양대산맥이라고 불림
- 요즘은 FastAPI에 밀려나고 있는 추세라고도 함
- 짧은 코드 몇 줄만으로 동작하는 웹페이지를 생성할 수 있음
Flask 웹 페이지를 생성한 후 "Hello World!" 라는 간단하고도 영원히 익숙한 문장을 출력하려고 한다.
이번에는 윈도우 환경이 아닌 맥 OS에서 진행했다.
맥을 사용할 기회가 생겨 맥의 Homebrew를 통해 생성했다.
완성 결과물)
1. 개발 환경 세팅
일단 맥에서 진행하고자 하면 소프트웨어 설치를 용이하게 해주는 Homebrew를 설치하면 편리하다.
또 Flask를 이용하기 위한 Python 설치 과정이 필요하며 파이썬 가상환경까지 설치해주면 된다.
Homebrew 설치
Homebrew 사이트에 접속한 후 하단의 링크를 복사해 본인의 터미널에 작성한다
Homebrew
The Missing Package Manager for macOS (or Linux).
brew.sh
이와 같은 명령어를 붙여넣으면 된다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Python 설치
$ python3 --version
사실 맥북에는 기본적으로 Python이 설치되어 있다.
하지만 파이썬이 설치되어있는게 맞는지, 버전은 어떤지 확인을 위해서 명령어를 입력해 알아볼 수 있다.
$ brew install python3
$ python3 --version
만약 설치가 되어있지 않다면 위 명령어를 입력해 새로 설치가 가능하다.
이렇게 입력 후 설치하면 파이썬 패키지 관리 툴인 pip가 함께 설치된다.
앞으로 파이썬과 관련한 패키지는 모두 pip로 설치가 가능해진다.
가상환경 설치, 생성
$ sudo pip3 install virtualenv
sudo 최고 관리자 권한으로 virtualenv를 설치한다.
이 가상환경 내에서 웹페이지를 실행할 예정이다.
설치 후 프로젝트 폴더에서 설치한 가상환경 virtualenv를 생성하고 켜준다
$ virtualenv myenv
$ source myenv/bin/activate
gaoriui-MacBookPro ~ % virtualenv myenv
gaoriui-MacBookPro ~ % source myenv/bin/activate
이와 유사한 형태로 입력하면
(myenv) gaoriui-MacBookPro ~ %
의 형태로 기존 내 정보 앞에 (myenv)가 붙는 것을 볼 수 있다.
그러면 가상환경이 켜진 걸로 볼 수 있다.
가상환경을 끄고 싶으면 deactivate 를 입력하면 된다고 한다.
flask 설치
$ pip3 install flask
(myenv)가 붙은 상태에서 위 명령어를 입력한다.
그럴 경우
(myenv) gaoriui-MacBookPro ~ % pip3 install flask 로 보이게 된다.
가상환경 내에서 pip를 통해 flask를 설치한 것으로 이 가상환경에서만 적용된 상태다.
2. 프로젝트 폴더 생성
나는 flask에 프로젝트 폴더조차 생성 되어있지 않아 생성해주고 폴더로 이동하는 과정을 거쳤다.
프로젝트 폴더를 이미 생성 했거나 존재한다면 이 부분은 넘어가면 된다.
$ mkdir project
$ cd project
mkdir는 리눅스 명령어로 make directory의 약자며 폴더(디렉토리)를 생성할 때 사용한다.
나는 이 명령어를 통해 project라는 폴더를 생성했다.
이후 cd 리눅스 명령어로 project 폴더로 이동하는 과정을 거쳤다.
이 과정에서도 앞에 가상환경 내에서 실행하고 있다는 (myenv)가 붙은 채로
(myenv) gaoriui-MacBookPro ~ % mkdir project
(myenv) gaoriui-MacBookPro ~ % cd project
이런 형태로 보여야 한다.
이 과정까지 마쳤다면 명령어를 입력할 수 있는 창의 형태가 이렇게 변해야한다.
(myenv) gaoriui-MacBookPro project %
MacBookPro(사용하는 PC에 따라 상이) 뒤에 project 라는 내가 방금 생성한 디렉토리가 추가되어 보인다.
그럼 드디어 폴더 안에 웹페이지 생성을 위한 코드를 파이썬으로 작성할 수 있게 되었다.
3. flask 웹페이지 생성
$ nano hello.py
리눅스의 nano 편집기를 이용해 내가 만들 웹페이지 hello.py 파일을 생성한다.
열린 nano 편집기에 파이썬으로 코드를 작성한다.
📂 hello.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello World!"
위 코드를 열린 nano 편집기에 작성한 후 Ctrl + O(저장하기), Ctrl + X(nano 편집기 종료) nano 편집기에서 빠져나오면 된다.
4. Flask 실행
$ python3 hello.py
터미널에서 flask를 실행하기 위해 명령어를 입력한다.
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: xxx-xxx-xxx
이와 같은 명령어가 출력되면 http://127.0.0.1:5000/를 주소창에 입력하거나 http://localhost:5000/를 입력한다.
열린 웹페이지로 "Hello World!"라는 문구가 출력된 것을 확인할 수 있다.
5. 이외의 기타 사항을 위한 정리
Flask의 설치 확인
$ pip3 show Flask
명령어를 입력했을 때 flask에 대한 정보를 출력 시 정상적으로 flask가 설치된 상태이다.
hello.py의 생성 확인
$ ls
파일이 잘 생성되었는지 확인해볼 수 있는 ls 명령어다.
(myenv) gaoriui-MacBookPro project % ls
hello.py
이러한 형태로 출력되며 디렉토리 내에 존재하는 목록을 볼 수 있는 명령어이다.
방금 생성한 hello.py 파일이 존재하는걸 확인할 수 있다.
nano 편집기를 사용하지 않는 방법
$ touch hello.py
nano 명령어가 아닌 touch 명령어를 이용해 파일 생성과 편집이 가능하다.
touch 명령어는 파일의 날짜와 시간을 수정하는 명령어지만 0바이트의 아무것도 없는 파일을 생성하기 위해서도 자주 사용된다.
다른 방식으로 웹페이지 실행하기
$ FLASK_APP=hello.py flask run
명령어를 이용하면 된다.
'익숙해지기 위한 노력들' 카테고리의 다른 글
[Wireshark] 네트워크 패킷 분석 (2) | 2024.10.18 |
---|---|
[SpringBoot] 회원가입 api구현 (0) | 2024.07.28 |
[IntelliJ] 인텔리제이 단축어 설정 sout 오류 (1) | 2024.05.07 |
[Linux] vi에디터 커서 이동키 정리 (0) | 2023.04.06 |