피드로 돌아가기
Difference between module, package and library in Python
Dev.toDev.to
Backend

Python 모듈·패키지·라이브러리의 구조적 계층 및 컴파일 메커니즘 분석

Difference between module, package and library in Python

Odhiambo2026년 6월 14일2beginner

Context

Python 코드의 재사용성과 유지보수성 향상을 위한 구성 단위의 명확한 정의 필요. 파일 단위의 모듈부터 폴더 기반의 패키지, 광범위한 기능을 제공하는 라이브러리까지의 계층적 구조 분석.

Technical Solution

  • .py 파일 기반의 Module 정의 및 CPython 인터프리터에 의한 Bytecode(.pyc) 컴파일을 통한 실행 속도 최적화
  • C/C++로 작성되어 컴파일된 Binary(.so, .pyd) 형태의 Module을 통한 저수준 성능 확보
  • 디렉토리 구조 내 Module을 그룹화하여 유지보수성을 높인 Package 설계
  • Python 3.3+ 버전에서 Namespace Package 도입에 따른 init.py 필수 요구 사항 제거
  • 복수의 Package와 Module을 통합하여 pip로 배포 가능한 광범위한 기능 집합체인 Library 구성

- 단순 기능 단위는 .py 파일(Module)로 분리 - 도메인별 응집도 향상을 위해 디렉토리 구조(Package) 설계 - 고성능 연산이 필요한 모듈은 C Extension 컴파일 검토 - 외부 의존성 관리 및 배포 단위는 Library 관점에서 설계

원문 읽기