728x90
반응형
Streamlit
streamlit은 python기반으로 데모페이지를 쉽게 만들 수 있게 해주는 라이브러리입니다. 기본적으로 웹이라고 하면 front, back을 분리시켜야하고, 복잡하다고 생각하시는 분들이 많습니다. 실제로 모델을 개발하거나 데이터를 분석해서 시각화를 하고싶은데, front, back 기술 스킬이 없다면 데모 페이지를 띄우기가 너무 힘들죠.
걱정마세요! 우리에겐 streamlit이라는 아주 쉬운 라이브러리가 있습니다!
streamlit은 정말 쉬운 함수로 구현되어있고, 파이썬 기반이기 때문에 파이썬만 아신다면 데모 페이지를 정말 쉽게 구현할 수 있습니다.
Streamlit 설치
pip install streamlit
위의 명령어로 쉽게 설치하실 수 있습니다.
설치 후에 아래의 명령어를 입력하신다면 streamlit으로 만들어진 웹의 데모를 체험할 수 있습니다.
streamlit hello
터미널창에 아래와 같이 주소가 출력되는데, 아래의 주소에 접속하시면 됩니다.
streamlit으로 만들어진 데모페이지 예시입니다.
정말 깔끔하지 않나요?
Streamlit의 장단점
제가 지금까지 사용하면서 느꼈던 streamlit의 장단점을 한번 적어볼까합니다.
먼저 장점!
- 파이썬을 주로 사용하는 저에게는 너무너무 편했습니다. 기존에는 vue-flask로 구현하면서 어려움이 있었는데, 처음 사용함에도 막힘없이 쓱쓱 사용할 수 있었어요.
- UI가 예쁩니다. vue에서는 따로 버튼도 vuetify를 설치하거나 css로 꾸며줘야하는데, streamlit은 기본 위젯 자체가 예쁩니다.
- back, front 분리를 안해도 됩니다. 파이썬 기반이라 util파일 아래에 두고 필요한 모델을 바로바로 불러다 사용할 수도 있습니다. 물론 분리를 시켜도 되지만, vue-flask처럼 반드시 필요한 작업은 아닙니다.
그리고 단점!
- 엄청 유연하지는 않습니다. 간단한 데모용 페이지라 그런지 커스텀을 자유롭게 할 수가 없습니다.
- pages 하위 폴더에 서브 페이지들을 만들면 무조건 메뉴바에 뜨고, 별도의 독립 페이지가 만들어지지 않습니다.
- 위젯 크기 조절이 어렵습니다. 현재는 columns를 해당 크기로 쪼개서 그곳에 위젯을 넣어줍니다.
오늘 포스팅에서는 streamlit에 대해 알아보았습니다. 다음 포스팅에서는 streamlit을 실제로 사용하여 웹페이지를 만들어 보겠습니다.
반응형
'다른 분야 > Web' 카테고리의 다른 글
[Streamlit] 하위 페이지 만들기 (0) | 2023.06.22 |
---|---|
[Streamlit] 위젯 사용하기(streamlit 모든 위젯 모음) (0) | 2023.06.16 |