
Streamlit이란,
Python 으로 데이터 앱을 빠르고 쉽게 만들 수 있도록 돕는 오픈소스 앱 프레임워크이다.
HTML, CSS, JavaScript에 대한 깊은 지식이 없어도 멋진 UI를 만들 수 있다.
빠른 프로토타입을 구현하는데 이만한 도구가 없을 정도로 장점 가득한 아이다.
Streamlit의 단점도 있다.
1. 접근제어 한계
기존 웹프레임워크에서 기본적으로 제공하는 SSO연결, 세션연결, 권한관리, 페이지 Redirection 등의 기능이 부족하며,
2. 커스터마이징 한계
HTML, CSS, JavaScript에 대한 자유도가 떨어지다보니 UI를 디자인하는데 커스터마이징에 한계가 있다.
3. 많은 메모리 사용
데이터를 한번에 불러와서 필터링을 거는 방식으로 데이터를 활용하다보니 메모리 사용에 주의가 필요하다.
Flask + Streamlit 을 함께 써보다
그럼에도 불구하고 Streamlit의 장점이 분명하기에
streamlit의 한계점을 flask가 보완하며 함께 사용하고 있다.
함께 사용하는 방법
1. Flask 웹서비스를 띄운다.
2. Flask에서 SSO , route 설정 , 권한 설정 등 접근제어를 만든다.
3. Streamlit 웹서비스를 띄운다.
4. Streamlit 상에서 분석 프로토타입을 만든다.
5. Flask의 페이지마다 Iframe 으로 streamlit을 연결해준다.
활용 꿀팁
* Streamlit 네비게이션 없애기
Streamlit에서는 기본적으로 pages라는 폴더에 순서대로 파일을 만들면 네비게이션바에 순서대로 메뉴가 생성된다.
이런 네비게이션 바를 없애고 싶다면, streamlit 서버를 실행할때 다음과 같은 옵션을 주고 실행하면 된다.
streamlit -run client.showSidebarNavigation=False run.py
* Streamlit 페이지 바로 접근 하기
streamlit에서 원하는 페이지에 바로 접근하려면 URL뒤에 해당 페이지명을 사용해주면 된다.
예를 들어 , 1_streamlit.py 라는 파일이 pages 폴더내에 있다면,
http://[streamlit_url]/streamlit
이런식으로 바로 접근이 가능하다.
* 파일명과 접근명을 다르게 하고 싶다면?
st_pages 패키지가 해당 기능을 구현해준다.
1. 먼저 st_pages 패키지를 설치한다.
pip install st-pages
2. streamlit 서버 실행 py 파일에 다음과 같이 등록해준다.
from st_pages import show_pages
show_pages(
[
Page("pages/1_streamlit.py", "Steam", "icon"),
Page("pages/2_streamlit.py", "Steam", "icon"),
Page("pages/3_streamlit.py", "Steam", "icon"),
]
)
3. 그런 다음 streamlitURL/Steam 이렇게했을때 바로 해당페이지로 갈 수 있다.
'IT > Python' 카테고리의 다른 글
| ElasticSearch ValueError: tls options require scheme to be ‘https’ 에러 (0) | 2024.04.30 |
|---|---|
| Python으로 cx_Oracle 실행 시 파라미터 전달하기 - Bind Variable (0) | 2024.04.23 |
| [Python] Mac 에서 아나콘다 활용방법 - 가상환경 생성, 필요한 라이브러리 설치 (0) | 2022.09.01 |
| [Python] 딕셔너리에 키 값 확인하고 자동으로 값 생성하기 (0) | 2022.08.31 |
| [Python] 흔한 파이썬 리스트 복사 오류 , 제대로 파이썬 리스트 복사하기 (0) | 2022.08.30 |