콘텐츠로 이동

01. 라이브러리 (거인의 어깨)

"파이썬의 힘은 문법이 아니라 생태계(Ecosystem)에서 나옵니다. 내가 하려는 기능은 전 세계 누군가가 이미 다 만들어 놨습니다."

1. 표준 라이브러리 (Standard Library)

파이썬을 설치할 때 기본으로 들어있는 기본 공구함입니다. 별도 설치 없이 import만 하면 바로 쓸 수 있습니다.

  • random: 제비뽑기, 주사위 굴리기
  • datetime: 오늘 날짜, 시간 계산
  • os: 파일 삭제, 폴더 생성 등 시스템 조작
import random
print(random.choice(['짜장', '짬뽕', '볶음밥']))

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

터미널에서 설치하기

# 엑셀보다 강력한 데이터 분석 도구
pip install pandas

# 웹사이트를 만드는 도구
pip install django

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)을 만들어주는 것입니다.

AI와 협업 포인트: 도구 추천받기

뭘 만들어야 할지 모를 때, AI에게 "도구 추천"을 받으세요.

> **프롬프트:**
> "나 파이썬으로 **유튜브 영상 다운로더**를 만들고 싶어.
> 가장 유명하고 쓰기 편한 **외부 라이브러리**가 뭐야? 설치법이랑 예제 코드 알려줘."

(AI는 아마 `pytube`나 `yt-dlp`를 추천해 줄 것입니다.)