티스토리 뷰

Python

[Python] 모듈 & 패키지

daze1002 2025. 2. 17. 01:59
반응형

01. 모듈 (Module)

01-01. 모듈 개요

01-01-01. 모듈이란

모듈 장점

  1. 재사용성 : 한번 작성한 코드를 여러 프로그램에서 재사용할 수 있다.
  2. 코드 관리 : 큰 프로그램을 작은 모듈로 나누어 관리할 수 있다.
  3. 네임스페이스 : 모듈마다 독립적인 네임스페이스를 제공하여 변수 이름 충돌을 방지할 수 있다.

01-02. 모듈 사용

모듈 사용 절차

  1. 모듈(파일) 전체를 import 한다.
    • 파일의 경로와 파일명(확장자 .py 제외)을 import 하면, 현재 스크립트에 다른 곳에서 정의한 스크립트를 불러올 수 있다.
  2. from-import 구문을 통해 특정 함수 또는 변수만 가져올 수 있다.
    • from 키워드 뒤에 import 대상 스크립트(모듈)을 지정하고, 그 뒤로 import할 대상 메서드나 함수를 작성한다.
  3. 모듈에 별칭을 부여할 수 있다.
    • import를 이용하여 스크립트를 불러오는 경우 파일 이름이 길거나 복잡한 경우, 호출 시마다 모듈명을 작성하기에 불편하다. 따라서 as 를 붙여 모듈에 별칭을 부여할 수 있다.
  4. 특정 함수 또는 변수에도 별칭을 부여할 수 있다.
    • 모듈의 메서드 또는 변수에 별칭을 부여하는 것도 가능하다.
  5. 표준 라이브러리 모듈을 import 하여 사용할 수도 있다.
    • python은 다양한 표준 라이브러리 모듈을 제공하고 있다.

02. 패키지 (Package)

02-01. 패키지 개요

패키지란

패키지 import

  • 패키지에 포함된 모듈을 import 하기 위해서는 import 구문에서 모듈명 앞에 패키지명. 을 붙여준다.
  • 사용할 때도 패키지명.모듈명을 붙여 사용한다.
  • 별칭이나 from-import 구문으로 짧게 줄여 쓰는 것도 가능하다.

02-02. PyPI (Python Package Index)

PyPI란

pip

  • PyPI에 공유된 패키지를 검색하고 설치하기 위한 명령어이다.
  • pip 명령어를 활용하여 특정 패키지 설치, 업그레이드, 제거, 패키지 목록 관리 등을 할 수 있다.
명령어 의미
pip install 패키지명 PyPI에서 패키지명으로 검색하여 최신 버전 설치
pip install 패키지명==버전 특정 버전의 패키지를 설치
pip list 설치된 전체 패키지 및 버전 확인
pip list grep 패키지명
pip install --upgrade 패키지명 특정 패키지의 버전 업데이트
pip uninstall 패키지명 설치된 특정 패키지 제거
- 패키지간 ‘의존성’으로 인하여 pip install 시 명시한 패키지 외의 다른 패키지가 같이 설치되기도 한다.

requirements.txt

  • requirements.txt 파일 생성

    • 현재 환경에 설치된 모든 패키지와 버전을 담은 requirements.txt 라는 파일을 생성한다.

      pip freeze > requirements.txt
  • requirements.txt 파일을 이용한 라이브러리 설치

    • -r 옵션 뒤에 오는 파일 경로를 읽어 해당 파일 내에 명시된 패키지를 설치한다.

      pip install -r requirements.txt
  • requirements.txt 사용 시 주의 사항

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

'Python' 카테고리의 다른 글

[Python] 클래스  (0) 2025.02.17
[Python] 함수  (0) 2025.02.17
[Python] 제어문 (조건, 반복, 분기)  (1) 2025.02.17
[Python] Set, Dictionary  (0) 2025.02.17
[Python] 시퀸스 자료형  (1) 2025.02.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함