01. 라이브러리 (거인의 어깨)
"파이썬의 힘은 문법이 아니라 생태계(Ecosystem)에서 나옵니다. 내가 하려는 기능은 전 세계 누군가가 이미 다 만들어 놨습니다."
1. 표준 라이브러리 (Standard Library)
파이썬을 설치할 때 기본으로 들어있는 기본 공구함입니다.
별도 설치 없이 import만 하면 바로 쓸 수 있습니다.
random: 제비뽑기, 주사위 굴리기datetime: 오늘 날짜, 시간 계산os: 파일 삭제, 폴더 생성 등 시스템 조작
2. 외부 라이브러리 (3rd Party Library)
기본 공구함에 없는, 더 강력하고 특수한 도구들입니다. PyPI (Python Package Index)라는 전 세계 공용 거대 저장소에 저장되어 있습니다.
이걸 가져오려면 pip라는 택배 기사(Package Manager)를 고용해야 합니다.
graph LR
PyPI["☁️ PyPI 저장소<br>(전 세계의 도구들)"]
Pip["🚚 pip (택배 기사)"]
MyPC["💻 내 컴퓨터<br>(.venv)"]
PyPI --"pip install pandas"--> Pip
Pip --"다운로드 및 설치"--> MyPC
style PyPI fill:#e3f2fd,stroke:#1565c0
style Pip fill:#fff9c4,stroke:#fbc02d
style MyPC fill:#e8f5e9,stroke:#2e7d32
터미널에서 설치하기
3. 가상환경 (Virtual Environment)
"그냥 컴퓨터에 다 설치하면 되지, 왜 프로젝트마다 가상환경(.venv)을 따로 만드나요?"
그건 버전 충돌(Dependency Conflict) 때문입니다.
graph TD
subgraph Global["❌ 가상환경 안 쓰면? (뒤죽박죽)"]
G_Pandas["Pandas 2.0 설치함"]
ProjA["프로젝트 A<br>(Pandas 2.0 필요)"]
ProjB["프로젝트 B<br>(Pandas 1.0 필요)"]
G_Pandas -->|O| ProjA
G_Pandas -->|"🚨 에러!"| ProjB
end
style Global fill:#ffebee,stroke:#c62828
🆚
graph TD
subgraph Venv["✅ 가상환경 쓰면? (깔끔)"]
VA["프로젝트 A (.venv)"] --- P2["Pandas 2.0"]
VB["프로젝트 B (.venv)"] --- P1["Pandas 1.0"]
end
style Venv fill:#e8f5e9,stroke:#2e7d32
- 프로젝트 A는 옛날 도구(
v1.0)가 필요한데, - 프로젝트 B 때문에 최신 도구(
v2.0)로 업데이트해버리면 A가 고장 납니다. - 그래서 프로젝트마다 독립된 방(.venv)을 만들어주는 것입니다.