우와한 개발자

[Python] 패키지(package)와 pyc 파일 - __init__.py, __pycache__ 폴더

by 우와한개발자

1. 패키지란?

  • 여러 모듈(.py 파일)을 디렉토리 단위로 묶은 것
  • __init__.py 파일이 있는 디렉토리가 패키지로 인식됨
  • 자바의 패키지 개념과 유사
my_package/
    __init__.py
    module1.py
    module2.py

 

2. __init__.py

  • 해당 디렉토리를 패키지로 만들어주는 파일
  • 로 import 시 __all__에 지정된 모듈만 가져옴
# __init__.py
__all__ = ["module1", "module2"]  # *로 import 할 때 허용할 모듈 지정

 

3. 패키지 설치 (pip)

  • 외부 패키지 설치 = 자바의 pom.xml에 의존성 추가하는 것과 유사
  • 설치 파일 종류:
형식 설명
.whl (wheel) 컴파일된 바이너리 파일, 설치 속도 빠름
.tar.gz 소스 코드 압축 파일, 설치 시 직접 빌드
pip install 패키지명       # 온라인 설치
pip install 패키지명.whl   # 로컬 파일로 설치

 

4. __pycache__ 폴더와 .pyc 파일

  • 모듈 로드 속도를 높이기 위해 파이썬이 자동으로 생성하는 컴파일된 파일
  • 파일명에 파이썬 버전 포함 ( 예: foo.cpython-313.pyc)
  • 소스의 수정 날짜를 컴파일된 버전과 대조하여 다시 컴파일해야 하는지 자동으로 확인
  • 컴파일된 모듈은 플랫폼에 독립적이므로 같은 라이브러리를 다른 아키텍처의 시스템과 공유 가능
  • 삭제해도 무방 (다음 실행 시 자동 재생성)

블로그의 정보

우와한개발자 님의 블로그

우와한개발자

활동하기