python3 --version #파이썬 버전 확인
pip #설치 확인
pip3 #설치 확인
sudo apt update #설치전 패키지 받아오기
apt search pip #패키지 목록 확인
sudo apt install python3-pip #설치
y
pip --version #설치 후 버전 확인
pip3 --version #설치 후 버전 확인
pip3 list #로컬 환경에 설치되어있는 python패키지 목록 확인
cd ~
mkdir python-flask
cd python-flask
sudo apt install python3-venv #가상환경 만들 패키지 설치
python3 -m venv pyflask #pyflask라는 이름으로 가상환경 생성
ls -a #venv라는 디렉토리가 생성되어있는데 왠만하면 직접 관리하지 말기
. pyflask/bin/activate #스크립트 파일 실행하는 명령어
가상환경으로 들어왔다는 것을 (pyflask)
를 통해 확인할 수 있다.
pip3 list #가상환경에만 설치된 3개지의 기본 패키지를 확인 할 수 있다.
deactivate #가상환경을 벗어남
pip3 list #파이썬 글로벌 패키지 목록을 다시 볼 수 있다.
혹시나
pip --version
명령어를 했을 때 버전이 2.7이면 그냥 pip명령어로 했을 경우 원하는 결과가 안나올 수 있다.
그럴 때는pip3 list
이런식으로pip3
라고 지정을 해주면 된다.
. pyflask/bin/activate #가상환경에 접근할 때 디렉토리 꼭 확인
pip3 install Flask #Flask 패키지 설치
vi hello.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
### 편집하고 :wq로 나오면됨
### @는 꾸미는 데코레이터임 /는 url의 경로임 루트경로에 오면 아래 함수를 실행하세요 라는 의미임
export FLASK_APP=hello #hello.py를 기본적으로 실행하도록 환경변수 설정
flask run #hello.py 실행
#python -m flask run #flask run과 같은 표현 python module을 실행하라는 의미
터미널을 하나 더 열어서..
curl localhost:5000 #접속시도
flask run --host=0.0.0.0 #외부로 노출시켜줌
### 크롬으로 로컬 주소를 치고 들어가면
### flask 기본 포트는 5000번임
pwd #현재 디렉토리 다시 확인
#/home/vagrant/python-flask
mkdir templates
vi templates/hello.html
<!doctype html>
<title>Hello form Flask</title>
{% if name %}
<h1>Hello {{ name }}'</h1> #name을 변수로 받아서 출력
{% else %}
<h1>Hello, World!'</h1> #변수가 없다면 기본값 출력
{% endif %}
vi hello.py
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route("/")
def hello_world():
return "<p>Hello, World!</p>"
@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
return render_template('hello.html', name=name)
flask run --host=0.0.0.0
pip3 freeze > requirements.txt #freeze를 이용해 패키지 목록 묶기
ls #freeze된 파일 확인
cat requirements.txt
pip3 install -r requrements.txt #해당 내용으로 패키지 설치를 하기위한 명령어