카테고리 없음

데일리 루틴 TIL 4 (24.09.30) - import/from, 모듈, 패키지, 가상환경 (완)

sj5black 2024. 9. 30. 22:09

모듈(Module)이란?

Python에서 관련된 함수, 클래스, 변수 등을 하나의 파일에 모아놓은 코드 묶음 (파이썬 파일)

 

모듈 사용 예시 1) 별칭

import math as m

result = m.sqrt(25)
print(result)  # 5.0

 

모듈 사용 예시 2) 모듈 안의 특정 함수만 불러오기

from math import sqrt, pow

result1 = sqrt(49)
result2 = pow(2, 3)
print(result1)  # 7.0
print(result2)  # 8.0

 

 

모듈 탐색 경로

Python에서 모듈을 불러올 때, Python은 특정 모듈 탐색 경로에서 해당 모듈을 찾습니다. 일반적으로 Python은 다음 순서로 모듈을 찾습니다:

  1. 현재 작업 디렉터리: 현재 실행 중인 스크립트가 있는 폴더.
  2. 표준 라이브러리 경로: Python이 기본적으로 제공하는 라이브러리들이 위치한 폴더.
  3. 환경 변수에 지정된 경로: PYTHONPATH 환경 변수에 지정된 폴더.

모듈이 이 경로들 중 하나에 존재하면, import 또는 from 구문을 통해 해당 모듈을 불러올 수 있습니다.

 

패키지

패키지(Package)는 모듈의 모음으로, 여러 모듈을 논리적인 그룹으로 묶은 디렉터리입니다. 패키지는 디렉터리 내에 __init__.py 파일이 있어야 Python에서 패키지로 인식됩니다.

 - 불러오기 예시)

from mypackage import module1
from mypackage.module2 import some_function

 

패키지 설치 : pip install 패키지 이름

패키지 목록 확인 : pip list

패키지 업그레이드 : pip install --upgrade 패키지이름

패키지 삭제 :  pip uninstall 패키지이름

패키지 캐시 삭제 (설치 실패 시 시도) : pip cache purge

패키지 특정버전 설치 (설치 실패 시 시도) : pip install 패키지이름==버전번호

패키지 구조

mypackage/            # 패키지의 최상위 디렉터리
    __init__.py       # 패키지를 초기화하는 파일 (필수)
    module1.py        # 첫 번째 모듈
    module2.py        # 두 번째 모듈
    subpackage/       # 서브 패키지 (하위 패키지)
        __init__.py   # 서브 패키지 초기화 파일
        submodule.py  # 서브 패키지 내의 모듈

 

TMI : 파일 생성 : pip freeze > requirements.txt # 현재 설치된 패키지를 requirements.txt에 기록

가상 환경

가상 환경(Virtual Environment)은 프로젝트별로 독립된 Python 실행 환경을 만드는 도구입니다.

가상 환경을 사용하면, 프로젝트마다 서로 다른 패키지 버전을 설치하고 관리할 수 있어, 패키지 간의 충돌을 방지할 수 있습니다.

가상환경 폴더 생성 : python -m venv 폴더명

가상환경 활성화(Window) : 폴더명\\Scripts\\activate

가상환경 활성화(macOS/Linux) : source 폴더명/bin/activate

주의 : 파워셀이 아닌 cmd 환경에서 입력해야 정상적으로 구동된다