우리가 음악파일을 저장할 때도 장르별로 폴더를 만들어서 별도로 저장을 하듯이, 파이썬 모듈도 음악처럼 갯수가 많아지면 폴더(모듈 꾸러미)별로 별도로 관리를 해야 관리가 편해집니다. 이 폴더가 바로 '패키지'입니다.
📁 패키지 (폴더)
├── 📄 __init__.py
├── 📄 모듈1.py
├── 📄 모듈2.py
└── 📄 모듈3.py
아래의 디렉토리에 my_loc 라는 폴더 생성
C:\Users\itwill
└── my_loc (새로 생성할 폴더)
my_loc 폴더 안에 yu_auto.py를 옮겨 놓음 (기존에 있던 yu_auto.py는 새 위치로 이동)
C:\Users\itwill\my_loc
└── yu_auto.py
이 평범한 폴더가 패키지로 인정을 받으려면
__init__.py 파일을 반드시 갖고 있어야 됨
C:\Users\itwill\my_loc
├── __init__.py (필수 파일)
└── yu_auto.py
from my_loc import yu_auto # from 패키지 import 모듈명
yu_auto.add_number(2,3)
# 평범한 폴더가 패키지가 되려면 그 폴더 안에 __init__.py 파일이 있어야 됨
"""
my_loc 패키지 - 계산 기능을 제공하는 패키지
이 패키지는 다음 모듈을 포함합니다:
- yu_auto: 기본 계산 함수들
"""
# 패키지가 import될 때 실행되는 코드
print("my_loc 패키지가 로드되었습니다.")
# 패키지에서 바로 접근할 수 있는 함수들 정의
from .yu_auto import add_number, gob_number, devide
__version__ = "1.0.0"
__author__ = "Your Name"
새로운 Python 파일에서 아래와 같이 스크립트를 실행
from my_loc import yu_auto # from 패키지 import 모듈
print(yu_auto.add_number(1, 2)) # yu_auto 모듈 안에 있는 add_number 함수 실행
print(yu_auto.gob_number(3, 4)) # 곱셈 함수 실행
print(yu_auto.devide(10, 2)) # 나눗셈 함수 실행
이미 만들어져 있는 어떤 함수를 우리가 작성하는 코드에서 자유롭게 활용할 수 있으려면
해당 함수가 포함된 모듈을 임포트해야 함
import 모듈이름
모듈이름.함수명()
from 패키지 import 모듈이름
모듈이름.함수명()
import 패키지이름.모듈이름
패키지이름.모듈이름.함수명()
파이썬의 기본 라이브러리 패키지 외에 추가적인 패키지를 설치하는 디렉토리
pip install 명령으로 설치한 패키지들이 저장되는 곳아래의 명령어가 수행되려면:
from my_loc import yu_auto
실행하는 스크립트가 C:\Users\itwill 밑에 있어야 함.
왜냐하면 my_loc 폴더가 바로 C:\Users\itwill 밑에 있기 때문
import sys
import site
print(site.getsitepackages())
# 아래의 디렉토리에 모듈을 가져다 두면
# 어디에서든 무조건 import 할 수 있음
C:\Users\itwill\anaconda3\lib\site-packages\my_loc
├── __init__.py
└── yu_auto.py
이제 어떤 디렉토리에서든 다음 코드가 실행됨
from my_loc import yu_auto
print(yu_auto.add_number(1, 2)) # 3
print(yu_auto.gob_number(1, 2)) # 2
print(yu_auto.devide(10, 2)) # 5.0