Streamlit, Python, 데이터 시각화, 머신러닝, 데이터 애플리케이션, 웹 배포, GitHub, 클라우드 배포, requirements.txt, 데이터 과학
1. Streamlit 소개 및 시작하기
Streamlit은 데이터 과학자와 AI/ML 엔지니어가 간단한 코드 몇 줄만으로 대화형 데이터 애플리케이션을 만들고 공유할 수 있도록 지원하는 오픈 소스 Python 프레임워크입니다. 공식 웹사이트에서 더 많은 정보를 확인할 수 있습니다.
1.1 회원가입 및 준비
Streamlit을 사용하려면 먼저 공식 웹사이트에서 회원가입을 진행해야 합니다. 계정을 생성하면 Streamlit Cloud에서 애플리케이션을 배포할 준비가 완료됩니다.
2. Streamlit 배포 방법
Streamlit 애플리케이션은 GitHub와 연동하여 배포할 수 있으며, 주로 다음 세 가지 방식으로 개발된 프로젝트를 배포할 수 있습니다.
2.1 배포 준비 과정
- Streamlit 애플리케이션 코드를 준비합니다.
- 프로젝트를 GitHub에 업로드합니다.
- Streamlit Cloud에서 해당 GitHub 저장소를 선택하여 배포를 진행합니다.
2.2 Streamlit Cloud에서 배포하기
- GitHub 연동: Streamlit Cloud에서 GitHub 저장소를 선택합니다.
- 세이브(Save) 및 배포(Deploy) 클릭: 화면이 바뀌면서 배포가 진행됩니다.
- 배포 완료 후 URL 확인: 배포가 완료되면 애플리케이션이 실행되는 URL이 제공됩니다.
3. 배포 과정에서 발생할 수 있는 문제 해결
3.1 모듈이 설치되지 않았다는 경고
배포 후 "모듈이 설치되지 않았다"는 오류가 발생할 수 있습니다. 이럴 경우 다음과 같이 해결할 수 있습니다.
- 프로젝트 폴더에서 설치된 라이브러리 확인:
- 프로젝트에서 사용한 라이브러리가 requirements.txt에 모두 포함되어 있는지 확인합니다.
- 라이브러리 목록 정리 및 추가:
- requirements.txt 파일은 Python 패키지 목록을 작성하는 표준 파일이며, Streamlit뿐만 아니라 Hugging Face 등의 패키지 배포에도 사용됩니다.
- 프로젝트에서 사용한 모든 라이브러리를 requirements.txt 파일에 추가합니다.
- 라이브러리 파일 예시 (requirements.txt) 아래 이미지 참고.
- 파일 수정 후 GitHub에 푸시(Push):
- requirements.txt 파일을 수정한 후 GitHub에 커밋하고 푸시합니다.
- 다시 배포 실행:
- Streamlit Cloud에서 다시 배포를 진행하면 오류가 해결될 것입니다.
4. 배포 완료 및 애플리케이션 공유
4.1 배포 후 화면 변화
배포가 완료되면 애플리케이션이 실행되며, 화면이 자동으로 업데이트됩니다. 배포 과정에서 다음과 같은 화면 변화가 발생할 수 있습니다.
- 빨간 화면에서 로딩 이모티콘이 돌면서 애플리케이션이 구동됩니다.
- 배포가 완료되면 Streamlit 앱 URL이 제공됩니다.
4.2 배포된 앱 공유하기
배포된 애플리케이션은 고유한 URL을 가지므로, 해당 링크를 주변 친구들에게 공유하여 자랑할 수 있습니다.
예제: 배포된 Streamlit 앱
5. 결론
Streamlit을 사용하면 간편하게 대화형 데이터 애플리케이션을 만들고 배포할 수 있습니다.
GitHub과 연동하여 requirements.txt 파일을 활용하면 더욱 원활한 배포가 가능합니다.
직접 만든 애플리케이션을 배포하고, 주변 사람들에게 공유해보세요!
'🐍 Python' 카테고리의 다른 글
비주얼 스튜디오 코드에서 Streamlit 문법 배우기: 출력 함수 실습과 실행 결과 (0) | 2025.02.03 |
---|---|
🎈 완전 초보도 할 수 있는 VS Code(비주얼 스튜디오 코드)에서 Streamlit 시작하기! (0) | 2025.02.03 |
K-Means Clustering 실습 및 이론 정리 (0) | 2025.02.01 |
Unsupervised Learning과 K-Means Clustering (0) | 2025.01.31 |
디시전 트리(Decision Tree) 개념과 데이터 분할 (0) | 2025.01.31 |