-
[streamlit] streamlit앱 배포하기Programing/python 어플 개발 2024. 3. 26. 23:54반응형
데이터분석 프로젝트나 간단한 AI모델링 프로젝트에서 Streamlit을 종종 사용하곤 하죠.
Streamlit Sharing을 사용하면 Streamlit으로 만든 어플리케이션을 쉽게 배포할 수 있습니다.
무료계정 옵션의 경우 아래와 같은 제한사항이 있습니다.
- 최대 3개의 어플리케이션까지
- 한 어플리케이션 당 RAM 1GB 제한
- Github repo 중, Puiblic만 배포 가능
제한사항이야 많지만 무료도 감지덕지입니다.
그 이상을 필요로 한다면 유료옵션을 이용하거나 타 호스팅 자원을 사용해야겠습니다.
자세한 내용은 아래의 공식문서를 참조해주세요
Streamlit Docs
Join the community Streamlit is more than just a way to make data apps, it's also a community of creators that share their apps and ideas and help each other make their work better. Please come join us on the community forum. We love to hear your questions
docs.streamlit.io
1. 계정생성
https://share.streamlit.io/signup
구글계정으로 회원가입한 후, 깃헙계정도 연결해줍니다.
회원가입 중 연동할 수도 있었는데 무지성으로 skip해버린 나란 멍청이... 2. repo 연결
3. app 배포
1) 앱 배포 기본설정
- 배포하려는 streamlit 프로젝트의 repository를 선택합니다.
- 배포하려는 branch를 선택합니다. (일반적으로는 main이겠죠?)
- streamlit 메인 파일을 선택합니다.
- 도메인 이름을 지어줍니다.
2) 앱 배포 상세설정
Deploy! 버튼 위에 있는 Advanced settings... 를 꼭 확인해주세요
Advanced settings - 파이썬 버전을 선택합니다.
- 인증키, DB정보 등을 환경변수로 설정합니다. (TOML 포맷)
3) 진짜 앱 배포
Deploy! 버튼 누르면 배포가 진행됩니다.
배포가 완료되었습니다! 저렇게 허전한 이유: 정말 허전하게 만들었으니까.
import streamlit as st def main(): st.title('Streamlit test') st.write("Hello, this is a Streamlit example!") if __name__ == '__main__': main()
streamlit sharing의 장점
- 매우 손쉽게 배포가 가능합니다.
- 상대적으로 매우 쉬운 streamlit을 이용해서 개발진행
- github과 연동해서 push할 때마다 배포된 앱도 자동 갱신
- 별다른 설정 안해도 http가 아닌 https로 배포
번외
streamlit을 잘 모르더라도 streamlit이 제공하는 템플릿을 이용해 손쉽게 시작할 수 있습니다.
ML Model Builder 템플릿을 사용해보겠습니다. 위에서와 같이 똑같은 방식으로 설정을 진행해주세요 Create를 누르면 깃헙계정에 Public repo가 생성됩니다.
그리고 open Github Codespaces to immediately edit this app in your browser! 를 선택한 상태로 진행했다면
아래와 같이 VSCode의 UI 위에서 실시간으로 변경하는 것도 가능합니다.
VS Code UI에서 바로 수정 가능합니다. 배포 결과물
템플릿대로 배포된 모습 반응형'Programing > python 어플 개발' 카테고리의 다른 글
[streamlit] 원격VM으로 streamlit 앱 배포하기 (0) 2024.03.30 kivy 어플에 소리 넣기 (kivy SoundLoader) (0) 2022.05.06 Kivy 기능 분할하기 (split file & class) (0) 2022.05.05 kivyMD로 시계 위젯 띄우기(KivyMD TimePicker) (0) 2022.05.01 KivyMD를 이용해 Kivy 디자인을 더 쉽게 지정하기 (3) 2022.04.29