- Streamlit Tutorial์ 2024๋ 1ํ๊ธฐ ๋ฐ์ดํฐ ์ฌ์ด์ธ์ค ๊ฐ๋ก ์๊ฐ์์ ๋์์ผ๋ก ์งํ๋ ์๋ฃ์ ๋๋ค.
- ์์ฑ์ผ์: 2024๋ 4์ 26์ผ
- Python์ด ์ปดํจํฐ์ ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค. ํ์ด์ฌ์ ๋ฒ์ ์ 3.8 ์ด์์ ๊ถ์ฅํฉ๋๋ค.
- ์ฝ๋ ์๋ํฐ์ธ Visual Studio Code๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์ต๋๋ค. ์ด ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด, VSC๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์ ์ ์์ต๋๋ค.
๊นํ์์ ํด๋น ๋ ํฌ์งํ ๋ฆฌ์ ์์ค์ฝ๋๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์ต๋๋ค. ์๋จ์ ์ด๋ก์ Code ๋ฒํผ์ ํด๋ฆญํ ํ, 'Download ZIP'์ ํด๋ฆญํ๋ฉด ์์ค์ฝ๋ zip ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ ์ ์์ต๋๋ค.
์ด ๋ ํฌ์งํ ๋ฆฌ์ ๋๋ ํ ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
streamlit-tutorial
โโ .gitignore
โโ README.md
โโ data
โ โโ แแ
ฅแซแแ
ฎแจแแ
ฉแแ
ฅแแ
ชแซแแ
ญแแ
ฎแซแแ
ฆแแ
ตแแ
ฅ.csv
โโ main.py
โโ requirements.txt
- main.py: streamlit์ด ์คํ๋ ํ์ด์ฌ ํ์ผ๋ก, ํํ ๋ฆฌ์ผ์์ ์งํํ ์ฝ๋๋ฅผ ๋ด๊ณ ์์ต๋๋ค.
- README.md: ํ๋ก์ ํธ์ ์๊ฐ์ ์ฌ์ฉ๋ฒ, ์ค์น ๋ฐฉ๋ฒ ๋ฑ์ ๋ํ ์ ๋ฐ์ ์ธ ์ ๋ณด๋ฅผ ํฌํจํ๋ ๋ฌธ์์ ๋๋ค.
- requirements.txt: ์ด ํ์ผ์ ํ๋ก์ ํธ๊ฐ ์์กดํ๋ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํจํค์ง์ ๋ชฉ๋ก์ ํฌํจํฉ๋๋ค.
- .gitignore: ์ด ํ์ผ์ git ๋ ํฌ์งํ ๋ฆฌ์ ํฌํจ๋์ง ์์์ผ ํ ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ ํฉ๋๋ค.
- data ํด๋: ํํ ๋ฆฌ์ผ์์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์์ต๋๋ค.
๋งํฌ๋ค์ด์ ์ผ๋ฐ์ ์ธ ํ ์คํธ ๊ธฐ๋ฐ์ ๊ฒฝ๋ ๋งํฌ์ ์ธ์ด์ ๋๋ค. ๋งํฌ๋ค์ด์ ๊ฐ๋จํ ๋ฌธ๋ฒ์ ์ฌ์ฉํด ๋ฌธ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
ํค๋๋ 1~6๊น์ง ์ง์ํฉ๋๋ค.
# This is a H1
## This is a H2
### This is a H3
#### This is a H4
##### This is a H5
###### This is a H6
๋งํฌ๋ค์ด์ ๋ณผ๋์ฒด, ์ดํค๋ฆญ์ฒด, ์ทจ์์ ๋ฑ์ ์ง์ํฉ๋๋ค.
*italic*
**bold**
~~stroke~~
๋ค์๊ณผ ๊ฐ์ด ์ด๋ฏธ์ง ๊ฒฝ๋ก๋ฅผ ๋ฃ์ด ์ด๋ฏธ์ง๋ฅผ ๋ํ๋ผ ์ ์์ต๋๋ค.
![image title](/image/steve-busch-3aWG50MWn6U-unsplash.jpg)
๋ค์๊ณผ ๊ฐ์ด ํ ์คํธ์ ์ธ๋ถ ๋งํฌ๋ฅผ ์ฝ์ ํ ์ ์์ต๋๋ค. ์ด ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด ํํ ๋ฆฌ์ผ์ ๊นํ ๋ ํฌ์งํ ๋ฆฌ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
[link title](https://github.com/givemetarte/streamlit-tutorial)
๋ฐฑํฑ(`)์ ์ด์ฉํด ์ฝ๋ ๋ธ๋ญ์ ์์ฑํ ์ ์์ต๋๋ค. ์ฝ๋ ๋ธ๋ญ ์์ ์ธ์ด๋ฅผ ์ ๋ ฅํ๋ฉด, ํด๋น ์ธ์ด์ ๋ง๋ syntax highlighting์ ์ง์ํฉ๋๋ค.
import pandas as pd
df = pd.read_csv('/data/๊ณต๊ณต๋์๊ดํ์ค๋ฐ์ดํฐ.csv', encoding='utf-8')
VSC์์ ์์ฑํ ๋งํฌ๋ค์ด ํ์ผ์ preview๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๊ณ ์ถ์ ๋งํฌ๋ค์ด ํ์ผ์ ์ค๋ฅธ์ชฝ ๋ฒํผ์ ํด๋ฆญํ ํ open preview
๋ฅผ ํด๋ฆญํ๋ฉด, ์์ฑํ ๋งํฌ๋ค์ด ํ์ผ์ด ์ด๋ป๊ฒ ๋ํ๋๋์ง ํ์ธํ ์ ์์ต๋๋ค.
VSC ์๋จ์ 'Terminal'์ ํด๋ฆญํ๊ณ , 'New Terminal'์ ๋๋ฅด๋ฉด ํฐ๋ฏธ๋์ ์ด ์ ์์ต๋๋ค. ํด๋น ํฐ๋ฏธ๋์ ์ ๋ ฅ์ฐฝ์์ ๋ค์๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ ์์๋๋ก ์ ๋ ฅํฉ๋๋ค.
์ด ํํ ๋ฆฌ์ผ์์ streamlit์ ์คํํ๊ธฐ ์ํด ๊ฐ์ํ๊ฒฝ์ ์คํํฉ๋๋ค. venv
๋ ํ์ด์ฌ์ ๋ํ์ ์ธ ๊ฐ์ํ๊ฒฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ํ๋ก์ ํธ๋ง๋ค ๋ค๋ฅธ ๋ฒ์ ์ ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ๋ ๊ฐ๋ณ ํ๋ก์ ํธ๋ฅผ ์คํํ ์ ์๋ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
# 1. generate python bubble
python -m venv env
# 2. activate
source env/bin/activate # mac
env\Scripts\activate.bat # window
# 3. install dependencies
pip install -r requirements.txt
# 4. deactivate bubble
deactivate
์์ ๊ฐ์ํ๊ฒฝ์ด ์คํ๋ ์ํ์์ ๋ค์์ ์ฝ๋๋ฅผ ํฐ๋ฏธ๋์ ์์ฑํฉ๋๋ค. ์ ์์ ์ผ๋ก streamlit์ด ์คํ๋๋ค๋ฉด localhost:8501
์์ ํํ ๋ฆฌ์ผ์ ํ์ธํ ์ ์์ต๋๋ค.
streamlit run main.py