파이썬 모듈과 패키지 활용 및 pip 사용법

1. 모듈

모듈은 여러 기능의 집합체입니다. 프로그램에서 모듈을 import하여 해당 모듈의 기능을 사용할 수 있으며, 이를 통해 개발 효율성을 높일 수 있습니다.

파이썬에서 모듈은 본질적으로 .py 파일이며, 이 파일에는 다양한 기능을 정의한 함수들이 포함되어 있습니다. 모듈을 import하는 것은 실제로 .py 파일을 가져오는 것이며, import 후에는 내부 함수를 직접 호출할 수 있습니다.

1.1 모듈의 종류

1.1.1 내장 모듈

파이썬에 기본 포함된 모듈로, 파이썬 인터프리터 설치 시 기본적으로 제공됩니다. 내장 함수들은 주로 이러한 모듈들에 포함되어 있습니다.

1.1.2 서드파티 모듈

특정 위치에서 다운로드해야 하는 모듈로, 일반적으로 하나의 모듈에 여러 기능이 포함되어 있습니다. 예를 들어, 웹 개발 관련 Django, Flask 등이 있습니다. 파이썬에는 20만 개가 넘는 서드파티 모듈이 있으며, 필요에 따라 규칙에 맞게 사용하고 특정 분야를 집중적으로 학습하면 됩니다.

1.1.3 사용자 정의 모듈

사용자가 직접 생성한 모듈로, 내부 기능은 사용자가 정의합니다.

1.2 모듈 import 방법

모듈의 기능을 사용하려면 먼저 import해야 합니다.

1.2.1 단일 모듈 import

문법 형식: import 모듈명

모듈을 import하면 해당 모듈의 코드가 즉시 실행됩니다.

  • 모듈 내의 이름을 사용하려면 모듈명.이름 형식으로 접두사를 추가해야 하며, 이는 로컬 동일 이름과의 충돌을 방지합니다.

문법 형식: 모듈명.이름

예제:

import utility # utility 모듈 import 및 코드 실행
utility.display_message() # 모듈 내 함수 호출

출력 결과:

안녕하세요, 이것은 유틸리티 모듈입니다.
작업을 완료했습니다.

팁: 일반적으로 .py 파일 이름은 임의로 지정할 수 있지만, 해당 파일이 모듈로 사용될 경우 내장 모듈과의 이름 충돌을 피하기 위해 변수 명명 규칙을 참고하는 것이 좋습니다.

1.2.2 여러 모듈 동시 import

문법 형식: import 모듈명1, 모듈명2, ...

코드 작성 시에는 한 줄에 하나의 모듈만 import하는 것을 권장하며, 여러 모듈을 동시에 import하면 나중에 확장하기 어려울 수 있습니다.

1.2.3 모듈 import 규칙

  1. 일반적으로 import 문은 파일 상단에 작성하여 전역에서 사용할 수 있게 합니다. 로컬 범위 내에 작성할 경우 해당 범위 내에서만 사용 가능합니다(특수한 경우 로컬 import 사용).
  2. 세 가지 유형의 모듈 import 순서는 다음과 같습니다: 내장 모듈, 서드파티 모듈, 사용자 정의 모듈

1.2.4 import한 모듈에 별명 지정

  1. 단일 모듈에 별명 지정

    문법 형식: import 모듈명 as 별명

    참고: 별명을 지정한 후에는 별명을 사용하여 모듈 내 기능을 호출해야 합니다. 예: 별명.이름

  2. 여러 모듈에 별명 지정

    문법 형식: import 모듈명1 as 별명1, 모듈명2 as 별명2, ...

1.2.5 모듈과 이름 동시 import

  1. 단일 이름 import

    문법 형식: from 모듈명 import 이름

    이 import 방식은 모듈을 import하는 동시에 모듈 내의 이름도 import합니다. 이렇게 하면 접두사 없이 직접 호출할 수 있습니다.

    예제:

    from utility import display_message # utility 모듈과 display_message 함수 import
    display_message() # 출력 결과: 작업을 완료했습니다.
  2. 여러 이름 동시 import

    문법 형식: from 모듈명 import 이름1, 이름2, ...

요약: 이 방법의 장점은 접두사 없이 모듈 내 이름을 사용할 수 있다는 것이며, 단점은 동일한 이름 덮어쓰기 문제가 발생할 수 있습니다.

1.2.6 import한 이름에 별명 지정

문법 형식:

  1. from 모듈명 import 이름 as 별명
  2. from 모듈명 import 이름1 as 별명1, 이름2 as 별명2, ...
  3. from 모듈명 import 이름1, 이름2 as 별명2, ...

설명: 이름에 별명을 지정하면 동일한 이름 덮어쓰기 문제를 방지할 수 있습니다.

확장: 모듈 내 모든 이름 import(권장하지 않음)

문법 형식: from 모듈명 import *

이 import 방식은 모듈 내의 모든 이름을 한 번에 import할 수 있으며, 밑줄로 시작하는 이름은 import되지 않습니다. 예: _private_var, _internal_func

주의: 이 방식으로는 별명을 지정할 수 없으며, 동일한 이름 덮어쓰기 문제가 발생할 수 있으므로 권장하지 않습니다.

2. 모듈 검색 경로와 우선순위

사용자 정의 모듈은 일반적으로 지정된 경로에 저장됩니다. 그렇다면 내장 모듈은 어디에 저장될까요? 모듈을 호출할 때 파이썬은 해당 모듈을 어떻게 찾으며, 다양한 모듈의 검색 우선순위는 어떻게 될까요?

2.1 검색 경로

모듈의 본질은 .py 파일이며, 이 파일들은 다양한 경로에 저장됩니다. 다음 방법을 통해 이러한 경로를 찾을 수 있습니다.

import sys # 내장 모듈 sys import
print(sys.path) # path 이름 출력, 모듈 검색 경로 확인

설명: sys.path 출력 시 리스트가 나타나며, 리스트의 요소들이 모듈의 저장 경로입니다. 파이썬은 이 리스트의 경로를 왼쪽에서 오른쪽으로 순서대로 검색합니다. 기본적으로 첫 번째 경로는 현재 폴더를 의미하며, 이후 경로들은 파이썬 설치 경로입니다.

확장: pip로 다운로드한 서드파티 라이브러리는 기본적으로 다음 경로에 설치됩니다: python\\lib\\site-packages

2.2 우선순위

위에서 알 수 있듯이, 파이썬은 path 리스트의 경로를 왼쪽에서 오른쪽으로 순서대로 검색합니다. 앞 경로에서 지정된 모듈을 찾으면 검색을 중지하고 더 이상 뒤를 찾지 않습니다. 모듈이 이 리스트의 경로에 없는 경우, append()와 insert() 명령을 사용하여 모듈 경로를 리스트의 임의 위치에 삽입할 수 있습니다.

3. 패키지

패키지도 본질적으로 모듈입니다. 모듈이 파일이라면, 패키지는 모듈을 관리하는 폴더와 같습니다.

3.1 파이썬의 패키지

파이썬에서는 폴더 하나가 패키지가 될 수 있습니다.

팁: 파이썬 2.0 버전에서는 폴더 내에 __init__.py 파일이 반드시 필요하며, 이 파일이 있어야만 폴더가 패키지로 인정됩니다. 파이썬 3.0 버전에서는 이 규정이 없지만, 규칙을 위해 일반적으로 이 파일을 배치합니다.

PyCharm에는 python package라는 빠른 생성 방식이 있으며, 이 방식으로 생성한 폴더는 자동으로 __init__.py 파일을 포함합니다.

3.2 패키지 import

3.2.1 직접 import

문법 형식: import 패키지명

패키지가 import되면 __init__.py 파일의 코드가 즉시 실행됩니다.

3.2.2 패키지 내 지정 모듈 import

  • 방법 1:

    문법 형식: import 패키지명.모듈명

    모듈 내 이름 호출: 패키지명.모듈명.이름

    모듈에 별명 지정: import 패키지명.모듈명 as 별명

    모듈 내 이름 호출: 별명.이름

  • 방법 2:

    문법 형식: from 패키지명 import 모듈명

    별명 지정: from 패키지명 import 모듈명 as 별명

  • 방법 3:

    문법 형식: from 패키지명.모듈명 import 이름

    이름에 별명 지정: from 패키지명.모듈명 import 이름 as 별명

주의: 패키지 내 여러 모듈을 import해야 할 경우, 모듈은 쉼표로 구분합니다. 패키지 내에 또 다른 패키지가 있는 경우, . 를 사용하여 연결할 수 있습니다. 예: from 패키지명1.패키지명2.모듈명 import 이름

4. 서드파티 모듈 관리(pip 사용)

서드파티 모듈은 다른 사람이 작성한 파이썬 파일이며, 우리는 특정 위치에서 다운로드해야 합니다. 다운로드된 모듈은 기본적으로 파이썬 설치 경로인 python/lib/site-package에 저장됩니다. 동시에 sys.path 내에서 이 경로를 찾을 수 있습니다.

파이썬은 서드파티 모듈을 더 쉽게 관리하기 위해 pip라는 기능을 별도로 제공합니다.

4.1 pip 기본 사용법

pip는 기본적으로 환경 변수에 포함되어 있어, cmd 명령줄에서 직접 사용할 수 있습니다.

  1. 다운로드한 모든 서드파티 라이브러리 확인

    명령: pip list

  2. 서드파티 라이브러리 다운로드

    명령: pip install 라이브러리명

  3. 서드파티 라이브러리 제거

    명령: pip uninstall 라이브러리명

주의: pip 명령으로 서드파티 라이브러리를 다운로드하면 기본적으로 외부 네트워크를 통해 진행되어 속도가 매우 느립니다. 여기서는 국내 미러로 전환하여 다운로드 속도를 크게 향상시킬 수 있습니다.

명령: pip install 라이브러리명 -i 미러소스주소

  • 주요 미러 소스 주소

    다음: https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/ 알리윈: https://mirrors.aliyun.com/pypi/simple/ 푸단대학교: https://pypi.douban.com/simple/ 중국과학기술대학교: https://mirrors.ustc.edu.cn/pypi/simple/

예제:

태그: 파이썬 모듈 패키지 pip 프로그래밍

5월 23일 02:31에 게시됨