파이썬에서 모듈(module)은 변수나 함수 그리고 클래스 등을 모아놓은 파일이다.
따로 모듈로 모아놓은 이유는 다음과 같다.
패키지(package)란 특정 기능과 관련된 여러 모듈을 묶은 것이다.
파이썬 파일들로 이루어져 있는 디렉토리(directory)가 하나의 패키지가 된다. 그리고 디렉토리 이름이 패키지 이름이 된다.
패키지는 일반 모듈처럼 import 하여 사용할 수 있다. 다만 차이점은 클래스 객체를 사용할때 처럼 "dot notation" 으로 해당 패키지의 원하는 모듈을 import 하면 된다.
import pkg.mod1
from pkg.mod2 import func2
pkg.mod1.func2()
func2()
가끔은 패키지가 import 될때 초기 설정을 해줘야 할때가 있다. 파이썬은 __init__.py
파일을 통해 패키지 초기 설정을 가능하게 해준다. (패키지가 import 될 때 __init__.py
파일의 코드가 자동으로 실행된다.)
__init__.py
파일을 통해 다음과 같은 일을 할 수 있다.
# __init__.py
from .mod1 import func2
# main.py
from pkg import func2
func2()
__all__
변수를 지정해 줄 수 있다. __all__
변수의 default 값은 모든 함수/변수/클래스 인데, __all__
변수를 따로 정의해줌으로 import 될 수 있는 요소들을 제한하는 것이다.__all__
변수는 string 요소를 가진 list이다.)# __init__.py
from .mod1 import func2
from .mod2 import func3
__all__ = ['func2', 'func3']
# main.py
from pkg import *
func2()
func3()
func4() ## <== Error. func4 함수는 __all__ 에 정의되지 않았으므로 import 될 수 없음.
파이썬에서 패키지를 설치하려면 pip이라는 툴을 사용하면 된다. pip은 파이썬의 package manager이다. 만약 Django라는 패키지를 설치하려면 터미널에서 다음 명령어를 사용하면 된다.
pip install Django