-
Notifications
You must be signed in to change notification settings - Fork 0
KR_Package
somaz edited this page Mar 11, 2025
·
5 revisions
패키지는 모듈들을 모아놓은 디렉터리로, 관련된 모듈들을 체계적으로 관리할 수 있게 해준다.
mypackage/
__init__.py
module1.py
subpackage/
__init__.py
module2.py# 전체 모듈 임포트
import mypackage.module1
# 특정 함수만 임포트
from mypackage.module1 import function1
# 서브패키지의 모듈 임포트
from mypackage.subpackage import module2# mypackage/__init__.py
# 버전 정보
VERSION = '1.0.0'
# 공개할 모듈 지정
__all__ = ['module1', 'module2']
# 패키지 초기화 코드
print("Initializing package...")
# 하위 모듈 자동 임포트
from .module1 import function1# 현재 디렉터리
from . import module1
# 부모 디렉터리
from .. import other_module
# 부모의 다른 패키지
from ..other_package import some_module# 여러 위치에 분산된 패키지
path1/mypackage/module1.py
path2/mypackage/module2.py
# PYTHONPATH에 path1과 path2 추가
import mypackage.module1
import mypackage.module2# setup.py
from setuptools import setup, find_packages
setup(
name="mypackage",
version="1.0.0",
packages=find_packages(),
install_requires=[
'requests>=2.22.0',
],
)✅ 패키지 작성 Tip:
- 명확한 패키지 구조 설계
- init.py 파일 적절히 활용
- 순환 참조 피하기
- 상대 경로 임포트 주의
- 패키지 문서화