[Streamlit] 설치 및 시작하기 + 배포
🧶 𝗪𝗲𝗯/Streamlit

[Streamlit] 설치 및 시작하기 + 배포

 

 

 개요 

공식 사이트

https://streamlit.io/

 

Streamlit • The fastest way to build and share data apps

Streamlit is an open-source app framework for Machine Learning and Data Science teams. Create beautiful web apps in minutes.

streamlit.io

streamlit 공식 사이트 입니다. 갤러리에 들어가시면 다양한 예제들을 만나보실 수 있습니다.

A faster way to build and share data apps
Streamlit turns data scripts into shareable web apps in minutes.
All in pure Python. No front‑end experience required

사이트를 들어가자마자 위와 같은 문장을 볼 수 있듯이, 정말 쉽고 간편하게 앱을 배포가능합니다.

별다른 프론트엔드 경험 필요없이, 순수한 파이썬 스크립트 하나면 웹을 다른 사람들과 쉽게 공유할 수 있습니다.

진짜 최고 👍

 

Document

https://docs.streamlit.io/library/get-started/installation

 

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

도큐먼트 페이지입니다. Get Started 인덱스를 이용하여 쉽게 설치하고 배포하는 방법을 알아보실 수 있습니다.

해당 내용에 따라 Streamlit 사용법에 관한 포스팅을 해보도록 하겠습니다.

 

 

 

 설치하기 

pip install streamlit
혹은
conda install -c conda-forge streamlit

우선 pip 를 이용해서 streamlit을 설치해주도록 합시다.

streamlit hello

설치가 완료됐다면 위의 명령어를 쳐서 로컬에서 잘 돌아가는지 확인해봅시다.

처음에 로컬에 띄울 때 이메일을 입력하라고 나올 것입니다. 그냥 Enter치시면 됩니다.

엔터를 치면 이런식으로 :8501 포트에서 로컬로 앱이 실행됩니다. 위의 Local URL을 클릭해서 들어가보세요.

다음과 같은 Streamlit 소개 페이지가 잘 뜬다면 설치가 완료된 것 입니다. 💫

로컬서버를 끌 때는 Ctrl(Cmd) + C 를 누르면 됩니다.

 

 

 

 배포하기 전 준비사항 

Github Repository 만들기

Streamlit은 Github과 연동되어 사용되어 집니다.

깃헙 repo를 만들어서 공유를 할 스크립트를 만들어봅시다.

그 전에 Streamlit 에 회원가입을 해야합니다.

[Continue with Github] 을 눌러 깃허브를 이용하여 계정을 만들어주도록 합시다.

그런 다음 깃허브로 이동해서 새 레포지토리를 만들어주도록 합시다.

[Repositories] - [New]  눌러줍니다.

그럼 다음과 같이 Create a new Repository 페이지가 나올 것 입니다.

레포지토리 이름을 입력하고, 꼭 Public 으로 설정해주세요.

Public 이어야지 Streamlit 에서 무료로 사용할 수 있습니다.

그리고 readMe, gitignore, license 가 필요하시다면 설정을 해서 추가를 해줍니다.

[Create repository] 을 클릭해주세요.

Streamlit 에 이용할 레포지토리가 만들어졌습니다.

여기서 배포 시 모듈이 설치될 때 필요한 requirements.txt 파일을 만들어주도록 하겠습니다.

[Add file] - [Create new file] 을 클릭해서 새로운 파일을 만들어주세요.

 

requirements.txt 파일 만들기

streamlit
numpy
pandas

해당 파일 안에는 스크립트에서 사용한 모듈을 넣어주면 됩니다. 저는 우선 위 정도만 작성해주도록 하겠습니다.

표준 라이브러리는 안넣어줘도 됩니다. 오히려 넣어주면 오류가 발생하니 주의하시길.

만약 특정한 버전을 사용하고 싶으시다면 numpy==1.7 이런식으로 작성하시면 됩니다.

[Commit new file] 버튼을 눌러 새 파일 작성을 완료해주도록 하겠습니다.

(이런식으로 새 파일을 만들어도 되고 레포를 로컬로 끌고와서 걍 새파일 만들어주셔도 됩니다.)

 

Python Script 작성하기

# main.py
import streamlit as st

st.text('hello Streamlit!')

해당 repo를 클론해서 로컬에서 열어보았습니다.

그리고나서 위와 같은 간단한 main.py 스크립트를 하나 생성했습니다.

st.text() 는 텍스트를 쓰는 api 입니다.

pwd

로컬 서버를 열기 전에 pwd 명령어를 이용해서 현재 경로를 확인하도록 하겠습니다.

만약 현재 경로가 main.py 가 있는 곳이 아니라면 cd 명령어를 이용해서 해당 경로로 들어가주시길 바랍니다.

예를 들면 저는 다음과 같은 경로에 main.py 파일이 있습니다.

cd /Users/yeomss/Repository/Github/Learning-Project/Streamlit-Test

그러면 다음과 같이 이동하면 되겠죠?

streamlit run main.py

아까 만든 main.py 스크립트를 streamlit run 을 해줘서 로컬 서버에 열어보도록 하겠습니다.

이제 git에 push 하면 배포가 되는 것입니다.

배포를 하기 전에 로컬에서 먼저 돌려보면서 코드를 짜야합니다.

run을 하면 위와 같이 로컬 서버 URL이 뜹니다. 들어가주도록 합시다.

그러면 다음과 같이 8501 포트에서 텍스트가 잘 뜨는 것을 확인할 수 있습니다.

참고로 스크립트 파일이 해당 웹 페이지의 title로 뜨게 됩니다.

만약 이모지를 스크립트 파일 이름에 쓴다면 이모지가 웹 페이지의 파비콘이 됩니다.

git add -A
git commit -m 'commit message'
git push origin main

그리고 나서 깃에 push를 해줍시다.

혹은 아까 requirements.txt 만들때 처럼 직접 remote에 가서 파일을 만들어주고 commit 하셔도 됩니다.

 

 

 

 배포하기 

https://share.streamlit.io/

 

https://share.streamlit.io/

 

share.streamlit.io

자 다시 streamlit 사이트로 돌아가서 로그인을 해주도록 하겠습니다.

그러면 개인 app share 페이지가 뜹니다.

이제 여기서 [New app] 을 눌러주도록 합시다.

그러면 이렇게 깃헙 레포를 통해 앱을 배포하는 페이지가 뜹니다.

이런식으로 친절하게 입력하려하면 어떤 레포지토리가 있는지 뜹니다.

직접 입력해줘도 좋고, 이렇게 토글다운된 것들을 선택해서 설정해도 됩니다.

이렇게 branch와 만든 파일 이름을 입력해줍니다.

 

+

혹은 저기 [Paste Github URL] 을 이용해서 직접 파일 URL을 복붙하셔도 됩니다.

이 경우에는 해당 파일 깃허브 페이지로 이동하셔서 저기 주소창에 있는 주소 그냥 복붙하시면 됩니다.

이모지가 들어있는 파일은 보통 저는 이렇게 해서 배포합니다.

아무튼간 뭐가 어찌됐든 연동된 깃허브 레포지토리 정보를 입력하시고 [Deploy] 버튼을 클릭하면 배포가 됩니다 !

베이킹되고 있습니다. 배포되는 데 시간이 조금 걸립니다.

조금 기다리면 이렇게 Streamlit을 통해서 간단하게 python 스크립트 웹 사이트를 배포할 수 있습니다. ✨

이제 python을 이용해서 웹을 만드시거나, 머신러닝을 하시는 분들은 별다른 플러그인 없이도 streamlit 하나만으로 이제 웹을 배포하실 수 있습니다. 완전 짱이에요.

 

 

 

 

 

 

streamlit 사용법 streamlit 설치 시작하기 st.text() streamlit github


 

728x90

'🧶 𝗪𝗲𝗯 > Streamlit' 카테고리의 다른 글

[Streamlit] config.toml 로 theme 설정하기  (0) 2022.07.08
[Streamlit] html 태그 넣기  (0) 2022.06.28