Programming Language/Python
[Python]Module
Sergemeow
2023. 2. 18. 17:02
모듈: 다양한 기능을 하나의 파일(.py)로 묶어둔 것
패키지: 다양한 파일을 하나의 폴더로 묶어둔 것. 패지지안에 또다른 서브 패키지 포함 가능
라이브러리: 다양한 패키지를 하나로 묶어둔 것
import module
from module import var, function, Class
from module import * # 전체.
from package import module
from package.module import var, function, Class
파이썬 패키지 관리자(pip)
- PyPI(python package index)에 저장된 외부 패키지들을 설치하도록 도와주는 패지키 관리 시스템
- 패키지 설치
- 최신버전/ 특정버전/ 최소버전을 명시하여 설치 가능
- 이미 설치되어 있는 경우 이미 설치되어있음을 알리고 진행되지 않음
$ pip install SomePackage
$ pip install SomePackage==1.05
$ pip show SomePackage
$ pip uninstall SomePackage
- 패키지 관리하기
- 아래의 명령어들을 통해 패키지 목록을 관리하고 설치할 수 있음
- 일반적으로 패키지를 기록하는 파일의 이름은 requirements.txt로 정의함
- $ pip install -r requirements.txt #같은 상태로 업데이트
가상환경세팅하기
- 가상환경세팅은 차후 버전이 다른 패키지들을 가진 환경에서 구성 중인 프로그램을 문제 없이 이어가기 위해 필요.
- 순서
- Python 가상환경 생성 python -m venv (가상환경이름)
- 제대로 생성되었다면 명령어를 실행한 위치에 가상환경이름의 디렉토리가 생성됨
- 가상환경실행source venv/Scripts/activate
- 정상적으로 가상환경이 실행되었다면 가상환경 이름이 CLI에 출력됨
- 가상환경을 실행시켜주는 스크립트를 실행, 스크립트는 생성된 디렉토리 하위의 Scripts 디렉토리의 activate 실행
- 가상환경 설정 저장하기pip freeze > requirements.txt
- 명령어를 입력하면 디렉토리에 세팅정보가 기재된 파일이 생성됨
- 가상환경에 설치한 라이브러리, 패키지를 저장하여 손쉽게 가상환경 설정 가능
- 가상환경 설정 불러오기pip install -r requirements.txt
- 세팅정보 파일을 디렉토리에 저장한 후에 아래 명령어 실행
- 가상환경은 터미널 단위로 실행됨. 터미널을 종료하였다면 다시 activate 해줘야함
- 디렉토리에서 ‘VS Code에서 실행’하면 해당 가상환경으로 VS Code가 실행됨
패키지 활용하기
- 패키지는 여러 모듈/하위 패키지로 구조화
- 활용 예시 : package.module
- 모든 폴더에는 *init*.py 를 만들어 패키지로 인식
- Python 3.3부터는 파일이 없어도 되지만,
- 하위 버전 호환 및 프레임워크 등에서의 동작을 위해 파일을 생성하는 것을 권장
패키지 만들기
- 계산 기능이 들어간 calculator 패키지를 아래와 같이 구성
#tools.py
def add(num1, num2):
return num1 + num2
def minus(num1, num2):
return num1 - num2
#check.py
from calculator import tools
print(dir(tools)) #tools에 어떤 변수와 메소드(method)를 가지고 있는지 나열
'''
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__',
'__package__', '__spec__', 'add', 'minus']
'''
print(tools.add(3, 5))
print(tools.minus(3, 5))