SKN/01. python

05. 모듈&패키지

claovy☘️ 2025. 2. 24. 23:37

1. 모듈

01. 모듈 개요

(1) 모듈이란

💡모듈은 서로 관련된 코드의 집합이자 하나의 파일을 의미하며 함수, 클래스, 변수 등을 모듈 내에 정의할 수 있다.

 

(2) 모듈 장점

1. 재사용성 : 한번 작성한 코드를 여러 프로그램에서 사용할 수 있다.

2. 코드 관리 : 큰 프로그램을 작은 모듈로 나누어 관리할 수 있다.

3. 네임스페이스 : 모듈마다 독립적인 네임스페이스를 제공하여 변수 이름 충돌을 방지할 수 있다.

 

02. 모듈 사용

1. 모듈 전체를 import 한다

2. from-import 구문을 통해 특정 함수 또는 변수만 가져올 수 있다

3. 모듈에 별칭을 부여할 수 있다

4. 특정 함수 또는 변수에도 별칭을 부여할 수 있다.

from ohgiraffers_module import ohgiraffers as OG, gorilla as grl

print(OG)       # 국내최고 IT 전문교육 강사팀
print(grl())    # 크왕

 

5. 표준 라이브러리 모듈을 import 하여 사용할 수도 있다.

# math 모듈 예시
import math

print(math.sqrt(16))        # 출력: 4.0
print(math.factorial(5))    # 출력: 120
print(math.pi)              # 출력: 3.141592653589793

2. 패키지

01. 패키지란

💡관련있는 함수, 클래스, 변수 등을 묶어 만든 모듈을 폴더로 관리하여 구분하는 것이다. 모듈 하나 이상을 가지고 있는 폴더를 ‘패키지’라고 부른다.

 

02. PyPI

💡 개인 혹은 단체에 의해 개발 및 유지되는 파이썬 외부 라이브러리(파이썬 언어에 포함되어 있지 않은 추가적인 라이브러리)를 호스팅하고 배포하는 공식 저장소이다.
  • pip
    • PyPI에 공유된 패키지를 검색하고 설치하기 위한 명령어이다.
    • pip 명령어를 활용하여 특정 패키지 설치, 업그레이드, 제거, 패키지 목록 관리 등을 할 수 있다.
  • 명령어 의미
    pip install 패키지명 PyPI에서 패키지명으로 검색하여 최신 버전 설치
    pip install 패키지명==버전 특정 버전의 패키지를 설치
    pip list 설치된 전체 패키지 및 버전 확인
    pip list grep 패키지명
    pip install --upgrade 패키지명 특정 패키지의 버전 업데이트
    pip uninstall 패키지명 설치된 특정 패키지 제거

03. requirements.txt

💡 파이썬으로 인공지능 서빙 프로그램을 만들 때, 프로그램의 종속성 관리를 위해 사용하는 파일의 통상적 이름이다. 이 파일에는 프로젝트에서 사용되는 모든 패키지와 버전이 나열되어 있어, 프로젝트를 배포하거나 다른 환경에서 실행할 때 동일한 패키지 환경을 재현할 수 있도록 한다.
# 1. requirements.txt 파일 생성
# 현재 환경에 설치된 모든 패키지와 버전을 담은 requirements.txt 파일을 생성한다.

pip freeze > requirements.txt
#2. requirements.txt 파일을 이용한 라이브러리 설치
# -r 옵션 뒤에 오는 파일 경로를 읽어 해당 파일 내 명시된 패키지를 설치한다
pip install -r requirements.txt
  • requirements.txt 사용 시 주의 사항
    • 가상 환경 사용: requirements.txt 파일을 생성하기 전에 가상 환경을 사용하는 것이 좋다. 이는 프로젝트에 필요한 패키지들만 requirements.txt에 포함되게 하여, 불필요한 패키지들이 포함되는 것을 방지한다.
    • 패키지 버전 관리: requirements.txt 파일에 포함된 패키지 버전을 고정하면, 환경의 일관성을 유지할 수 있다. 그러나 필요에 따라 버전을 업데이트하는 것도 중요하다.
    • 선별적인 설치: 특정 패키지를 무시하거나 선택적으로 설치하고 싶다면, requirements.txt 파일을 편집하여 필요 없는 패키지를 제거하거나 조건부로 설치되도록 설정할 수 있다.

'SKN > 01. python' 카테고리의 다른 글

08. Streamlit  (0) 2025.02.24
04. 클래스와 상속  (1) 2025.02.24
03. 함수  (0) 2025.02.18
02. 제어문(조건문, 반복문)  (0) 2025.02.18
01. 변수와 자료형  (0) 2025.02.18