티스토리 뷰

시각화

Streamlit 알아보기 (2)

데이터조이 2024. 5. 25. 15:58

1) DB Connection

  • 기본 스크립트가 포함된 폴더에 `.streamlit` 폴더 생성 (폴더명 앞에 점을 꼭 붙여주세요!)
  • `.streamlit` 폴더에  `secrets.toml` 파일 생성
  • 다음과 같이 본인 DB에 맞게 toml 파일 내용 작성.
[connections.my_database]
    type="sql"
    dialect="mysql"
    username="root"
    password="0000"
    host="localhost" # IP or URL
    port=3306 # Port number
    database="my_test" # Database name

 

  • 다음과 같이 코드를 작성하면 DB에 있는 내용을 앱에서 확인 할 수 있음.
import streamlit as st

conn = st.connection("my_database")  # sqlalchemy 설치 필요.
df = conn.query("SELECT * FROM my_test.hospital_alchemy")
st.dataframe(df)

 

2) 다중 페이지

  • 앱이 커지면 여러 페이지로 구성하는 것이 유용.
  • 다중 페이지 실습
  • (1) `main.py` 파일을 아래와 같이 수정
import streamlit as st

st.markdown("# Main page 🎈")
st.sidebar.markdown("# Main page 🎈")
  • (2) `main.py`파일이 포함된 폴더에 새 `pages`폴더 생성
  • (3) 앱에 더 많은 페이지를 추가하려면 `pages`폴더에 새로운 `.py` 파일 추가.

        - `pages/page_2.py`

import streamlit as st

st.markdown("# Page 2 ❄️")
st.sidebar.markdown("# Page 2 ❄️")

 

 
        - `pages/page_3.py`

import streamlit as st

st.markdown("# Page 3 🎉")
st.sidebar.markdown("# Page 3 🎉")

 

  • (4) streamlit 실행

        - `streamlit run main.py` 또는 `python -m streamlit run main.py` 명령어로 실행.

3) 배포(Streamlit Share)


1.  Git에서 새로운 Repo 생성 후 main.py파일이 있는 폴더를 Push하기.
    - VScode에서 바로 올리는 방법.

    - 참고: 클론한 코드를 본인 Repo에 올리는 법 ([링크](https://velog.io/@damin1025/howtoPush-clone-to-localRepo))
2. 계정 생성
    1. https://share.streamlit.io/signup로 이동. 
    2. "Continue with Google" 클릭


3. 깃헙 계정과 연동
    1. 깃헙 계정과 연동



    2. Streamlit 연동 승인
       


        
4. 작업 공간 탐색
    1. 새 앱 만들기. `Use existing repo` 클릭. 
       


    2. 업로드 하고자하는 Repo, Branch 선택. Main file path는 `main.py`로 변경. `Deploy!` 클릭 하면 완성!
   


5. 생성 완료된 app 확인
   


    - 앱 클릭 시 Streamlit 화면 볼 수 있음.
       


    - https://standardb-hssnmfmzlffoz7j5damijk.streamlit.app/

댓글
Total
Today
Yesterday
공지사항
최근에 올라온 글
글 보관함