Streamlit은 데이터 사이언스, 데이터 분석 등을 위한 웹 애플리케이션을 손쉽게 구현하고 공유할 수 있는 오픈소스 Python 라이브러리입니다. Streamlit을 활용하여 웹을 구축하기 위해선 Python을 사용할 IDE 혹은 텍스트 편집기가 필요합니다. Python을 위한 다양한 IDE가 있지만 데이터 사이언스 분야에서 가장 많이 사용되는 Jupyter Lab 과 Visual Studio Code을 다루겠습니다.

2.1 작업환경 설정

Python 버전

공식 문서에 따르면, Streamlit은 현재 Python 3.8부터 3.11까지 호환됩니다. 추후 특정 버전이 제외 혹은 추가될 수 있기 때문에 Streamlit을 설치하기 전, 공식 문서에서 호환 버전과 로컬 작업 환경의 Python 버전을 확인하는 것을 권장합니다.

Windows는 다양한 명령 프롬프트를 사용할 수 있습니다. Anaconda prompt, Cmd, PowerShell 중 한 개를 선택해서 사용하면 됩니다. 사용하는 명령 프롬프트의 종류에 따른 성능 차이는 없지만, cmd는 상대적으로 입력 가능한 커맨드의 제한이 있습니다.

PowerShell은 Cmd보다 강력하고 유연한 CLI로서 복잡한 작업과 자동화에 적합하므로, Windows OS 환경에서 우리는 PowerShell을 사용합니다.

Windows의 명령 프롬프트 혹은 macOS의 터미널에서 아래의 명령어를 통해 설치되어 있는 Python을 리스트로 조회할 수 있습니다.

# Python Version Check

# Windows & macOS
python --version

# Windows only
py -0

3.7 이하 버전을 사용하고 있다면, Python 공식 홈페이지에서 호환 버전을 설치해야 합니다. 본 책은 Python 3.9 버전을 사용해 Streamlit을 이용합니다. 호환 버전과 관련된 자세한 내용은 공식 문서를 참고 바랍니다.

가상환경 (Virtual Environment)

우선 Python 가상환경에서 Streamlit을 이용한 작업은 필수사항은 아닙니다. 하지만 추후 구축한 웹을 배포하는 단계에서 종속성과 관련된 에러를 최소화하기 위해 가상환경을 구축하여 사용하는 것을 권장합니다. Streamlit과 Python 종속성(Dependency) 관련된 자세한 내용은 7장, 배포에서 다루도록 하겠습니다.

Python의 다양한 가상환경 관리 Tool

conda (Anaconda 이용시)