Streamlit 라이브러리를 활용한 배포 예제
Page content
사전준비
- 배포를 하기 위해서는 필수로 진행해야 할 사전준비가 필요하다.
- Git & Github 설치 과정은 생략한다.
Step 01 - Streamlit 회원가입
- https://share.streamlit.io/signup
- 아래 이미지에서
Continue with Github
와 같이 회원가입을 진행한다.
- Set up your account를 작성한다. 작성이 끝나면 다음과 같은 화면이 나오면 정상적으로 등록이 된 것이다.
Step 02 - Github 레포 설정
- Gitub 레포를 설정한다.
- 이 때, 주의해야 할 것은 Public으로 설정을 해야한다.
- .gitignore 파일도 Setting 하는 것이 좋다.
Step 03 - 주요 라이브러리 설치
- 다음 코드를 실행하여 배포를 위한 라이브러리를 설치한다.
- 가상 환경 이후 필수 라이브러리 설치를 진행한다.
$ virtualenv venv
$ source venv/Scripts/activate
(venv) $ pip install numpy pandas matplotlib seaborn altair plotly streamlit joblib scikit-learn
Step 04 - requirements.txt 파일 작성
- 배포를 위해서는 필수적으로 requirements.txt 파일이 필요하다.
- 기 설치된 라이브러리를 requirements.txt 파일로 만드는 코드는 다음과 같다.
(venv) $ pip freeze > requirements.txt
(venv) $ ls
README.md requirements.txt venv/
메인 코드 작성
- 간단하게 해당 라이브러리를 호출하고 버전을 보여주는 코드를 작성하도록 한다.
- 버전 작성시,
st.write()
함수를 활용할 것이다. - 파일명 :
app.py
# -*- coding: UTF-8 -*-
import streamlit as st
import pandas as pd
import matplotlib as mpl
import seaborn as sns
import plotly
import sklearn
import numpy as np
# Fxns
def main():
"""코드 작성"""
st.title("streamlit 버전: " + str(st.__version__))
st.title("pandas 버전: " + str(pd.__version__))
st.title("matplotlib 버전: " + str(mpl.__version__))
st.title("seaborn 버전: " + str(sns.__version__))
st.title("sklearn 버전: " + str(sklearn.__version__))
st.title("numpy 버전: " + str(np.__version__))
st.title("plotly 버전: " + str(plotly.__version__))
if __name__ == "__main__":
main()
- 로컬에서 실행하여 결과를 확인해본다.
(venv) $ streamlit run app.py
You can now view your Streamlit app in your browser.
Local URL: http://localhost:8502
Network URL: http://192.168.0.20:8502
Github에 업로드
- 새로 추가된 파일 / 수정된 파일이 있으면 주기적으로 업로드를 진행한다.
(venv) $ git add .
(venv) $ git commit -m "Updated"
(venv) $ git push
배포
- https://share.streamlit.io/ 에서 배포를 진행하도록 한다.
New app
버튼을 클릭한다.
- Deploy an app 함수가 나오면 정상적으로 배포 준비가 된 것이다.
Advanced Settings
를 클릭하면 파이썬 실행버전도 선택할 수 있다.
- 위 상태가 되면 배포가 완료가 된 것이다.