플라스크란?
이 플라스크는 아니고~
플라스크는 파이썬 웹 프레임워크이다.
(웹 프레임워크: 쉽고 빠르게 웹 사이트를 만들 수 있게 해주는 것)
파이썬 웹 프레임워크로는 장고와 플라스크가 대표적인데,
장고는 플라스크와 비교해 내장된 기능이 많아 무겁다.
그 말은?
플라스크는 기능이 없다가 아니고,
'모든 기능을 갖고 시작'이 아닐 뿐, 필요한 확장 모듈을 그때그때 추가해 사용한다.
그래서 가볍고 자유로운 프레임워크라고 할 수 있다.
크리에이티브 그 잡채
공식문서 링크: https://flask.palletsprojects.com/en/2.3.x/
Welcome to Flask — Flask Documentation (2.3.x)
flask.palletsprojects.com
이번 포스팅에서는 플라스크 개발 환경을 만들기 위한
그 과정들을 쉽게 따라할 수 있도록 차근차근 설명할 것이다.
이번 포스팅만 따라하기만 하면 플라스크?
하나도 모르는 애기도 환경 세팅 뚝-딱하고 완성
그럼, 유치원생도 할 수 있는 플라스크 개발환경 세팅 가이드 시작

잘 따라오라고
1. 파이썬 설치
플라스크를 쓰려면 우선 파이썬을 설치해야한다.
왜냐?
플라스크가 파이썬 마이크로 웹 프레임워크이니깐
파이썬 쓰는 사람이 쓰는 거야 이거
다운로드 링크: https://www.python.org/downloads/
Download Python
The official home of the Python Programming Language
www.python.org
위의 링크에 들어간 뒤, Downloads 탭에서 자신의 운영체제에 맞는 탭을 선택
나는 Windows 사용 중이므로 Windows용 파이썬을 다운했다.
그리고 Python 3.11.5 (업데이트로 달라질 수 있음) 클릭해서 다운로드
★ 밑에 Add Python 3.11 to Path 항목 체크 필수 ★
파이썬 설치 경로를 시스템이 인식해야 어디서나 파이썬 명령어를 쓸 수 있는데
그 경로를 추가해주는 것이다.
잘 설치됐나 확인하려면?
C:\Users\zzaekkii> python -V
Python 3.11.4
cmd(명령 프롬프트)에 'python -V'(대문자 주의)를 입력해 확인해보면 된다.
2. 파이썬 가상 환경 만들기
가상 환경은 프로젝트를 진행할 때 독립된 환경을 만들어 주는데
가상 환경을 이용하면 하나의 PC 안에 독립된 가상 환경을 여러 개 만들 수 있다.
이 포스팅에서는 파이썬 가상 환경에 플라스크를 설치할 것이다.
그러니 파이썬 가상환경을 먼저 만들어보자
아래의 코드들은 cmd(명령 프롬프트)에 입력하면 된다.
여기에 입력하면 된다
1. 가상환경 디렉터리(폴더) 만들기
C:\Users\zzaekkii> cd \
C:\> mkdir venvs
C:\> cd venvs
현재 위치(로컬 디스크 C)에 venvs라는 폴더를 만드는 코드이다.
※ 명령어 해석
1. cd \는 최상위 폴더(C 내부 Users폴더의 zzaekkii --> C)로 이동하는 것이다.
(cd는 change directory로 이동 명령어)
2. mkdir는 make directory로 폴더를 만드는 코드.
mkdir venvs는? 현재 위치에 venvs라는 이름의 폴더 생성!
3. 그럼, cd venvs는?
현재 위치(로컬 디스크 C)에 venvs라는 폴더를 만드는 코드가 된다.
2. 파이썬 가상환경 만들기
C:\venvs> python -m venv myproject
파이썬 가상환경을 만드는 코드이다.
※ 명령어 해석
코드 중간에 -m은 module 모듈이다.
고로, python -m venv는 파이썬 모듈 중 venv라는 모듈을 사용한다는 의미이다.
myproject는 가상 환경의 이름(변경해도 됨)이다.
이제 C:\venvs 폴더 안에 myproject 폴더가 만들어졌다.
이 폴더를 가상 환경이라 생각하면 된다.
근데 이걸 만들었다고 바로 쓸 수 있는 건 아니고 가상 환경에 진입해야 한다.
3. 가상환경 진입
C:\venvs> cd C:\venvs\myproject\Scripts
C:\venvs\myproject\Scripts> activate
(myproject) C:\venvs\myproject\Scripts>
myproject 가상환경에 진입하는 코드이다.
※ 명령어 해석
- 가상환경에 진입하려면 가상환경에 있는 Scripts 폴더의 activate(그런 파일이 있음)라는 명령을 수행해야 한다.
1. C:\venvs\myproject\Scripts로 이동한다.
2. Scripts 폴더에서의 activate는 가상환경 진입 명령어이다.
3. C:\ 왼쪽의 (myproject)는 myproject라는 가상환경에 진입했음을 의미한다.
3.5. 가상환경 탈출
(myproject) C:\venvs\myproject\Scripts> deactivate
C:\venvs\myproject\Scripts>
가상환경을 벗어나는 코드이다.
C:\ 왼쪽에 (myproject)가 사라진 것을 확인할 수 있다.
3. 플라스크 설치
파이썬 가상환경도 만들었겠다,
지금 느낌 그대로 이어서 플라스크를 설치해보자.
설치라고 해서 막 웹 사이트 들어가서 다운로드하고 그런 것은 아니다
가상환경에서 코드 띡띡 2줄 정도 쳐주면 끝이다.

플라스크 설치
C:\venvs\myproject\Scripts> activate
(myproject) C:\venvs\myproject\Scripts> pip install flask
(myproject) C:\venvs\myproject\Scripts> python -m pip install --upgrade pip
플라스크 설치, pip 최신 버전 업그레이드 코드이다.
※ 명령어 해석
1. activate로 가상환경에 진입한다.
2. pip는 Package Installer of Python의 약자로, 파이썬으로 작성된 패키지를 설치하고 관리하는 시스템이다.
고로, pip install flask는 flask라는 패키지를 설치한다는 의미이다.
3. --upgrade pip은 pip를 최신버전으로 업그레이드하겠다는 의미이다.
4. 플라스크 프로젝트 만들기
앞으로 플라스크 프로젝트를 여러 개 진행할 확률이 매우 높으므로
프로젝트들을 모아둘 프로젝트 루트 폴더를 생성해보자.
C:\> mkdir projects
C:\> cd projects
로컬 디스크 C에서 projects(루트 폴더) 폴더를 만들고 이동하는 코드다.
C:\projects> C:\venvs\myproject\Scripts\activate
(myproject) C:\projects>
프로젝트 루트 폴더(projects) 안에서 앞에서 만든 myproject 가상 환경에 진입하자.
명령어가 길지만 빠뜨리지 말고 잘 입력하자.
(myproject) C:\projects> mkdir myproject
(myproject) C:\projects> cd myproject
(myproject) C:\projects\myproject>
플라스크 프로젝트를 담을 myproject 폴더를 생성하고 내부로 이동하는 코드이다.
우선 여기까지 진행해두고, 파이참을 설치하러가자.
5. 파이참 설치
파이참은 JetBrains에서 제작한 Python용 통합 개발 환경(IDE)이다.
그 IntelliJ를 만든 제트 브레인, 다들 아시쥬?
몰라도 ㄱㅊ
※ 통합 개발 환경이란?
소프트웨어 개발에 관련된 모든 작업, 즉 패키지 인클루딩, 문서 편집, 컴파일, 디버그, 원격 서버 액세스, 바이너리 배포 등을 하나의 프로그램 안에서 모두 처리하는 환경을 제공하는 툴이다!
요약하면 개발하기 편하라고 여러 기능들을 미리 준비해둔 것.
≒ 요리하기 편하라고 칼이랑 도마랑 식재료 등 이것저것 준비해둔 주방!
사실 Visual Studio Code를 써도 되는데,
츄라이 츄라이
이번 기회에 한번 써 봐 파이참~
다운로드 링크: https://www.jetbrains.com/ko-kr/edu-products/download/other-PCE.html
만약 학생이라면, https://www.jetbrains.com/ko-kr/pycharm/download/?section=windows
기타 버전 - PyCharm Community Edition
www.jetbrains.com
주의할 사항은 없어서 그냥 Next > 마구 누르면 된다.
설치가 끝나면 실행하고 아까 만든 myproject폴더를 open 해주자.
(경로: C:/projects/myproject)
이제 플라스크 프로젝트에서 사용할 파이썬 인터프리터 위치를 설정해줘야 한다.
파이참 인터프리터 설정하기
File - Settings(단축키: Ctrl + Alt + S)로 설정에 들어간다.
[Project:myproject → Project Interpreter]로 들어가서 Add Interpreter를 클릭!
경로를 C:\venvs\myproject\Scripts\python.exe로 선택해주고 OK 누르면서 나가면 완료!
6. 플라스크 서버 실행
파이참에서 myproject 폴더 내에 hello.py를 만들고 코드를 작성하자.
[파일명: projects\myproject\hello.py]
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
저장하고나면, cmd로 돌아와서 flask run을 입력한다.
(myproject) c:\projects\myproject>flask run
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
Usage: flask run [OPTIONS]
Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory.
그럼 무슨 어쩌구 오류가 뜨면서 에러가 발생하는데
읽어보면 "FLASK_APP 환경 변수가 없어서 플라스크 애플리케이션을 찾을 수 없다"라는 뜻이다.
그 말은?
플라스크 서버를 실행하려면 FLASK_APP 환경 변수를 설정해주면 된다는 것
※ FLASK_APP 환경 변수의 기본 값
플라스크는 FLASK_APP 환경 변수가 없을 경우, app.py 파일을 기본 애플리케이션으로 인식한다.
위에서 hello.py가 아닌 app.py로 만들었다면 FLASK_APP 환경 변수를 지정하지 않아도 됐을 것이다.
하지만 우리는 그게 아니니까, FLASK_APP 환경 변수의 값을 수정해주면 된다!
(myproject) c:\projects\myproject>set FLASK_APP=hello
환경 변수 FLASK_APP을 hello라는 값으로 설정하는 코드이다.
아까 만든 hello.py의 hello이다.
(myproject) c:\projects\myproject>flask run
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Serving Flask app 'hello'
* Debug mode: off
* Running on http://127.0.0.1:5000 (Press CTRL+C to quit)
그리고 다시 flask run을 해주면?
어떤 경고 메시지는 뜨지만 Running on ~ 하면서 주소가 뜨는 게 보인다.
운영 환경에서는 flask run으로 실행하는 개발서버가 아닌 WSGI 서버로 실행해야 한다는 경고 메시지.
(myproject) c:\projects\myproject>set FLASK_ENV=development를 입력해주면 괜찮았는데
Flask 2.2.X 버전부터는 달라졌다고 한다.
암튼, 에러가 아닌 경고는 실행가능하니 잠시 제쳐두고,
http://127.0.0.1:5000을 Ctrl을 누른채 클릭해보자.
오~ 아까 입력했던 return "Hello, World!"가 뜨네?
위에서 hello.py에 입력했던 코드가 이렇게 웹 사이트로 된 거다~
주소 http://127.0.0.1:5000의 의미는 127.0.0.1 아이피(IP)의 5000번 포트(port)을 의미하는데,
127.0.0.1:5000 대신 localhost:5000라고 입력해도 같은 화면을 볼 수 있다.
127.0.0.1과 localhost는 현재 컴퓨터를 가리키는 아이피 주소다.
로컬호스트는 가상으로 인터넷망에 연결되어 있는 것처럼 할당하는 인터넷 주소이다.
그래서 다른 컴퓨터로 저 주소에 들어간다고 Hello, World!가 나오진 않는다.
이렇게 플라스크로 웹 사이트를 만들어보았다

뭐, 쉽죠?
마무리
추카추카, 이제 당신도 웹 개발자~
아까 서버 실행할 때 뭐 이것저것 치고 너무 복잡했는데
'배치 파일'이라는 것을 만들면 아까의 그 긴 과정들을 생략할 수 있다.
배치 파일 만들고 사용하는 건 다음 포스팅에서.
그럼 다음 포스팅도 많관부~

'Etc.' 카테고리의 다른 글
[오류 해결] 실종된 PostgreSQL 서버 재가동하기 (1) | 2024.08.31 |
---|---|
[오류 해결] PostgreSQL 괴상한 문자로 메시지가 뜨는 괴빡치는 문제 (?묎렐 沅뚰븳 ?놁쓬) (0) | 2024.08.29 |
[오류 해결] 윈도우 10 블루투스 드라이버가 사라지는 문제 (9) | 2024.07.03 |
[정보처리기사] 응시 자격 서류 온라인 제출하기 (0) | 2024.03.02 |
[Bitcoin Core] 비트코인 코어(testnet) 설치 · 동기화 (Windows) (1) | 2023.10.08 |