[점프 투 플라스크]를 참고해서 작성한 글입니다.
https://wikidocs.net/81041
1. 파이썬 가상 환경 구축하기
프로젝트의 첫 발걸음은 가상 환경 구축으로 시작합니다.
그냥 디렉토리 하나 만들고 진행하면 되는거 아니야? 할 수 있겠지만
가상 환경은 하나의 PC에 여러개의 독립된 환경을 만들어 줌으로써
프로젝트마다 서로 다른 버전의 파이썬과 라이브러리를 사용할 수 있어서 버전 관리하기 편합니다.
협업을 할 때 각 개발자의 PC환경은 다르지만 프로젝트 환경은 맞춰줘야 문제가 생기지 않는데
가상환경이 이 문제를 해결해줍니다.
가상환경 구축을 왜 해야하는지 알았다면 한 번 만들어 봅시다.
가상환경을 구축할 디렉토리(vens)를 만들고 그 안에서 명령어를 입력해줍니다.
# Bash
mkdir venvs
# C:\venvs
python -m venv <프로젝트명>
저는 shop_project 라는 가상환경을 만들었습니다.
2. 가상 환경에 진입하기
가상 환경을 만들었다면 진입해서 사용해봅시다.
가상환경 안에 Scripts 라는 폴더가 있을겁니다.
Scripts에 진입한 상태에서 activate 명령어를 입력하거나,
절대경로(c:/venvs/shop_project/scripts/activate) 를 입력하면 가상환경에 접속이 됩니다.
# bash
# 방법1
# C:\venvs\shop_project\Scripts>
activate
# bash
# 방법2
c:/venvs/shop_project/scripts/activate
왼쪽에 (shop-project) 프롬프트가 보이면 진입 성공입니다.
3. 프로젝트 디렉토리 생성
가상환경을 만들었으니 이제 프로젝트를 진행 할 디렉토리를 만들어서 프로젝트 진행을 하면 됩니다.
(가상환경 디렉토리는 진입 목적으로 만든거라 프로젝트 작업 장소는 아닙니다)
저는 C드라이브에 myproject 디렉토리를 만들어서 shop 디렉토리를 만들었습니다.
4. 가상 환경에서 Flask 설치
가상환경에 진입했으면 flask를 설치해봅시다.
리눅스를 사용하셨던 분들은 rpm install, dnf install 명령어를 사용해 본 적이 있을겁니다.
리눅스 패키지 관리 도구죠.
파이썬도 파이썬만의 패키지 관리 도구인 pip을 사용합니다.
pip install flask 명령어로 flask를 설치를 해줘야 하는데,
그 전에 pip update 먼저 해준 후에 설치를 합시다.
(pip이 최신 버전이 아니면 WARNING이 뜨기 때문)
#bash
python -m pip install --upgrade pip
pip install flask
5. Flask 실행
제대로 동작을 하는지 간단한 테스트를 해봅시다.
프로젝트 디렉토리에 파이썬 파일을 하나 만든 후 아래 코드를 넣어줍니다.
# c:\myproject\shop\pybo.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_pybo():
return 'Hello, Pybo!'
그리고 cmd창에 아래 코드를 입력합니다.
# set FLASK_APP=<파이썬 파일명>
# set FLASK_DEBUG=true
set FLASK_APP=pybo
set FLASK_DEBUG=true
set FLASK_APP은 FLASK_APP 환경변수에 우리가 만든 app을 알려주는 작업입니다.
FLASK_APP 환경 변수가 지정되지 않은 경우 자동으로 app.py 파일을 기본 app으로 인식하기 때문에
app.py로 파일을 만들었다면 할 필요가 없는 작업입니다.
저는 pybo.py로 파일을 만들었기 때문에 세팅을 해줬습니다.
set FLASK_DEBUG=true 작업은 디버그 모드를 활성화시켜서
오류가 발생하면 디버깅 결과 메시지를 웹 브라우저에 출력해 주도록 합니다.
코드를 변경하면 서버가 자동으로 다시 시작해서 변경된 내용을 적용해주는 편한 기능입니다.
flask run으로 확인해 봅시다.
+TIP: 가상 환경에 편하게 진입하기(배치 파일 생성)
그런데 작업을 할 때마다 가상환경에 진입하기 위해 모든 경로를 입력하는건 여간 번거로운게 아닙니다.
만약 배치 파일을 만들어둔다면, 파일 이름만 입력해도 바로 가상환경으로 진입이 가능합니다.
저는 가상환경 디렉토리 venvs에 run_shop.cmd 라는 이름의 cmd 파일을 만들었습니다.
cmd 파일 이름으로 가상환경 진입이 가능하니 편한 이름으로 설정합시다.
@echo off
cd c:/myproject/shop
set FLASK_APP=pybo
set FLASK_DEBUG=true
c:/venvs/shop_project/scripts/activate
배치 파일을 실행하면 c:/myproject/shop 로 이동 후,
flask run이 실행되기 위한 세팅을 해준 뒤
(set FLASK_APP=pybo, set FLASK_ENV=development)
c:/venvs/shop_project/scripts/activate 명령어가 실행됩니다.
이 배치파일을 어디에서나 사용하려면 환경변수 설정이 필요합니다.
환경 변수 설정 완료 후 cmd 창을 껐다가 켜면 어디서든 배치 파일을 실행시킬 수 있습니다.
+ 가상 환경에서 나가는 방법
가상환경에서 벗어나는 명령어는 deactivate 입니다.
deactivate 명령어는 그 어떤 경로에서든지 잘 알아듣습니다.
#bash
deactivate
'window 환경에서 개발하기 > Flask' 카테고리의 다른 글
Flask에 MySQL 데이터 연동 ① DB 연동 순서(pymysql) (2) | 2023.04.27 |
---|---|
Flask 개발 기초 ③ API 라우팅 함수 관리(블루프린트) (0) | 2023.04.27 |
Flask 개발 기초 ② 애플리케이션 팩토리(application factory) (0) | 2023.04.27 |