Error Code
오류 원인
- seaborn 라이브러리가 설치되지 않음
- seaborn은 데이터 시각화를 위한 Python 라이브러리로, 현재 환경에 설치되지 않은 상태입니다.
- requirements.txt에 seaborn이 누락
- Streamlit Cloud와 같은 환경에서는 requirements.txt 파일에 필요한 패키지를 명시해야 합니다.
- requirements.txt 파일이 없거나, seaborn 패키지가 포함되지 않은 경우 발생할 수 있습니다.
오류 해결 방법
Python 프로젝트를 진행하다 보면 여러 패키지를 설치하게 됩니다. 이때, 프로젝트에 필요한 패키지를 명시적으로 관리하고, 팀원들과 동일한 환경을 유지하기 위해 사용하는 파일이 바로 **requirements.txt**입니다. 이번 글에서는 requirements.txt의 개념과 작성법, 활용 방법에 대해 알아보겠습니다.
1. requirements.txt란?
requirements.txt는 Python 프로젝트에서 필수 패키지 목록과 버전 정보를 저장하는 텍스트 파일입니다. 이를 통해 프로젝트에 필요한 환경을 쉽게 재현할 수 있습니다.
✅ 주요 역할
- 프로젝트의 의존성을 명확히 관리
- 팀 프로젝트에서 동일한 개발 환경 유지
- 배포 및 서버 환경 설정을 간소화
2. requirements.txt 작성법
기본 형식
패키지이름==버전
예시:
numpy==1.23.5
pandas>=1.3.0 # 최소 1.3.0 이상
streamlit~=1.10 # 1.10.x 버전
📋 유용한 버전 지정 방법
- ==: 특정 버전 고정
- 예: numpy==1.23.5
- >=: 최소 버전 지정
- 예: pandas>=1.3.0
- ~=: 특정 주 버전에 대해 호환되는 모든 하위 버전 허용
- 예: streamlit~=1.10 (1.10.x 버전만 허용)
3. requirements.txt 작성하기
방법 1️⃣: 직접 작성
아래와 같은 기본 패키지와 프로젝트에 필요한 추가 패키지를 직접 작성합니다.
# 기본 데이터 분석 및 시각화 패키지
numpy
pandas
matplotlib
seaborn
# Streamlit 및 UI 관련
streamlit
streamlit-option-menu
# 머신러닝 관련
scikit-learn
joblib
# 파일 처리 및 이미지
openpyxl # Excel 파일 읽기/쓰기
pillow # 이미지 처리
# 기타
requests
방법 2️⃣: 설치된 패키지로 자동 생성
현재 Python 환경에 설치된 모든 패키지를 기반으로 requirements.txt를 생성하려면, 아래 명령어를 사용합니다.
pip freeze > requirements.txt
생성된 requirements.txt 예제:
numpy==1.23.5
pandas==1.4.4
matplotlib==3.6.2
seaborn==0.12.1
streamlit==1.14.0
streamlit-option-menu==0.3.2
scikit-learn==1.1.3
joblib==1.2.0
openpyxl==3.0.10
pillow==9.3.0
requests==2.28.1
4. requirements.txt 활용법
📥 패키지 설치
다른 개발자가 동일한 환경을 재현하려면, requirements.txt를 사용하여 필요한 패키지를 한 번에 설치할 수 있습니다.
pip install -r requirements.txt
📤 패키지 목록 업데이트
프로젝트 진행 중 패키지를 추가로 설치하거나 업데이트한 경우, pip freeze를 사용해 requirements.txt를 최신 상태로 업데이트합니다.
pip freeze > requirements.txt
5. requirements.txt 예제
아래는 Streamlit을 활용한 머신러닝 및 데이터 분석 프로젝트를 위한 requirements.txt 예제입니다.
# 기본 데이터 분석 라이브러리
numpy
pandas
matplotlib
seaborn
# Streamlit 및 추가 UI 관련
streamlit
streamlit-option-menu
# 머신러닝 관련 라이브러리
scikit-learn
joblib
# 파일 처리
openpyxl # Excel 데이터 읽기/쓰기
pillow # 이미지 처리
# 기타 네트워크 요청
requests
6. requirements.txt 작성 시 주의할 점
- 불필요한 패키지 제외
- 모든 설치된 패키지를 포함하기보다는, 프로젝트에서 실제로 사용하는 패키지만 추가합니다.
- 버전 관리 중요
- 동일한 환경을 유지하기 위해 버전을 명시하는 것이 좋습니다.
- 가상 환경 사용 권장
- 프로젝트별로 의존성을 관리하기 위해 가상 환경(venv나 conda)을 사용하는 것을 추천합니다.
7. 추가 팁: pipreqs로 자동 생성
pipreqs는 프로젝트 코드에서 사용된 패키지만 분석하여 requirements.txt를 생성하는 유용한 툴입니다.
설치:
pip install pipreqs
사용:
pipreqs /path/to/your/project
이 명령어는 /path/to/your/project 경로에서 실제 사용된 패키지를 기반으로 requirements.txt를 생성합니다.
8. 마무리
requirements.txt는 Python 프로젝트에서 필수적인 파일입니다. 이를 활용하면 프로젝트 환경을 쉽게 공유하고 관리할 수 있습니다. 위 내용을 참고하여 여러분의 프로젝트에 적합한 requirements.txt를 작성해보세요!
'Error Handling' 카테고리의 다른 글
160. [Error Handling] [ Backend ] NullPointerException 완벽 해결 가이드 (1) | 2025.02.28 |
---|---|
152. [Streamlit] [Data Science] : 결측치가 많은 컬럼을 처리하는 방법 (0) | 2025.02.15 |
140. [Error Handling] [Streamlit] : Streamlit 사용 시 에러 발생 (0) | 2025.02.03 |
105. [Error Handling] [Python] 내장 함수 이름 재정의로 발생하는 오류 (0) | 2025.01.21 |
99. [Error Handling] [Python] 튜플(Tuple)과 소괄호 오류 (0) | 2025.01.20 |