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 |