# 파이썬 모듈 설치하기

전자 우편:

  distutils-sig@python.org

널리 사용되는 공개 소스 개발 프로젝트로서, 파이썬에는 적극적으로 지원하는 기여자와 사용자의 커뮤니티가 있어, 자신들의 소프트웨어를 공개 소스 라이센스 계약에 따라 다른 파이썬 개발자가 사용할 수 있도록 합니다.

이를 통해 파이썬 사용자는 효과적으로 공유하고 공동 작업할 수 있으며, 다른 사람들이 공통 (심지어 때로는 희귀한) 문제에 대해 이미 만든 솔루션의 이점을 누릴 수 있을 뿐 아니라, 자체 솔루션을 공동 풀에 잠재적으로 제공할 수 있습니다.

이 지침서는 이 절차의 설치 부분을 다룹니다. 자신의 파이썬 프로젝트를 만들고 공유하는 지침은 Python packaging user guide를 참조하십시오.

참고

기업 및 기타 기관 사용자의 경우, 많은 조직에서 공개 소스 소프트웨어를 사용하고 공헌하는 데 대한 자체 정책을 시행하고 있음을 알고 있어야 합니다. 파이썬과 함께 제공되는 배포 및 설치 도구를 사용할 때 이러한 정책을 고려하십시오.

## 핵심 용어

- `pip` 는 선호되는 설치 프로그램입니다. 파이썬 3.4부터, 기본적으로 파이썬 바이너리 설치 프로그램에 포함되어 있습니다.

- 가상 환경 은 패키지가 시스템 전체에 설치되는 것이 아니라, 특정 응용 프로그램에 사용되도록 설치될 수 있도록 하는 반 격리 된 파이썬 환경입니다.

- `venv` 는 가상 환경을 만들기 위한 표준 도구이며, 파이썬 3.3 이후로 파이썬의 일부입니다. 파이썬 3.4부터, 생성되는 모든 가상 환경에 기본적으로 `pip` 를 설치합니다.

- `virtualenv` 는 `venv` 에 대한 제삼자 대안(그리고 전임자)입니다. `venv` 를 아예 제공하지 않거나, 생성되는 환경에 `pip` 를 자동으로 설치할 수 없는, 3.4 이전의 파이썬 버전에서 가상 환경을 사용할 수 있도록 합니다.

- 파이썬 패키지 색인 은 다른 파이썬 사용자가 사용할 수 있도록 만들어진 공개 소스 라이선스 패키지의 공용 저장소입니다.

- 파이썬 패키징 위원회 는 표준 패키징 도구와 관련 메타 데이터 및 파일 형식 표준의 유지 보수 및 발전을 담당하는 개발자 및 문서 작성자 모임입니다. 그들은 GitHub 에 다양한 도구, 문서, 이슈 추적기를 유지합니다.

- `distutils` 는 1998년에 파이썬 표준 라이브러리에 처음 추가된 최초의 빌드 및 배포 시스템입니다. `distutils` 의 직접 사용이 단계적으로 폐지되고 있지만, 여전히 현재의 패키징 및 배포 기반 시설의 기초를 이루고 있고, 표준 라이브러리의 일부로 남아있을 뿐만 아니라, 그 이름은 다른 방식으로도 (가령 파이썬 패키징 표준 개발을 조정하는 데 사용되는 메일링 리스트의 이름으로) 남아있습니다.

버전 3.5에서 변경: 이제 가상 환경을 만드는데 `venv` 사용을 권장합니다.

더 보기

파이썬 패키징 사용자 지침서: 가상 환경 생성과 사용

## 기본 사용법

표준 패키징 도구는 모두 명령 줄에서 사용하도록 설계되었습니다.

다음 명령은 파이썬 패키지 색인에서 최신 버전의 모듈과 그 의존성을 설치합니다:

    python -m pip install SomePackage

참고

POSIX 사용자(맥 OS 와 리눅스 사용자를 포함합니다)의 경우, 이 지침서의의 예제는 가상 환경 을 사용한다고 가정합니다.

윈도우 사용자의 경우, 이 지침서의 예제는 파이썬을 설치할 때 시스템 PATH 환경 변수를 조정하는 옵션이 선택되었다고 가정합니다.

정확한 버전이나 최소 버전을 명령 줄에서 직접 지정할 수도 있습니다. `>`, `<` 와 같은 비교 연산자나 셸에서 해석되는 다른 특수 문자를 사용할 때는, 패키지 이름과 버전을 큰따옴표로 묶어야 합니다:

    python -m pip install SomePackage==1.0.4    # 특정 버전
    python -m pip install "SomePackage>=1.0.4"  # 최소 버전

일반적으로, 적절한 모듈이 이미 설치되어있으면, 다시 설치하려고 해도 아무런 효과가 없습니다. 기존 모듈을 업그레이드하려면 명시적으로 요청해야 합니다:

    python -m pip install --upgrade SomePackage

`pip` 와 그 기능에 관한 더 많은 정보와 자원은 파이썬 패키징 사용자 지침서 에서 찾을 수 있습니다.

가상 환경의 생성은 `venv` 모듈을 통해 수행됩니다. 활성 가상 환경에 패키지를 설치하려면 위에 표시된 명령을 사용합니다.

더 보기

파이썬 패키징 사용자 지침서: 파이썬 배포 패키지 설치하기

## 어떻게 …?

이것들은 몇 가지 일반적인 작업에 대한 빠른 답변 또는 링크입니다.

### … 파이썬 3.4 이전 버전의 파이썬에서 `pip` 를 설치합니까?

파이썬은 `pip` 를 파이썬 3.4에 와서야 포함하기 시작했습니다. 이전 버전의 경우, `pip` 는 파이썬 패키징 사용자 지침서에 설명된 대로 “부트스트랩(bootstrapped)” 될 필요가 있습니다.

더 보기

파이썬 패키징 사용자 지침서: 패키지 설치 요구 사항

### … 현재 사용자만을 위해 패키지를 설치합니까?

`--user` 옵션을 `python -m pip install` 에 넘겨주면 시스템의 모든 사용자가 아닌 현재 사용자를 위해서만 패키지를 설치합니다.

### … 과학 계산용 파이썬 패키지를 설치합니까?

많은 과학 계산용 파이썬 패키지는 복잡한 바이너리 의존성을 가지고 있고, 현재 `pip` 를 사용하여 직접 설치하기가 쉽지 않습니다. 이 시점에서, 사용자가 이 패키지들을 `pip` 로 설치하려고 시도하는 것보다 다른 방법 으로 설치하는 것이 더 쉬운 경우가 종종 있습니다.

더 보기

파이썬 패키징 사용자 지침서: 과학 계산용 패키지 설치하기

### … 병렬로 설치된 여러 버전의 파이썬으로 작업합니까?

리눅스, 맥 OS 및 다른 POSIX 시스템에서는, 버전이 지정된 파이썬 명령을 `-m` 스위치와 조합하여 적절한 `pip` 사본을 실행하십시오:

    python2   -m pip install SomePackage  # 기본 파이썬 2
    python2.7 -m pip install SomePackage  # 특정하여 파이썬 2.7
    python3   -m pip install SomePackage  # 기본 파이썬 3
    python3.4 -m pip install SomePackage  # 특정하여 파이썬 3.4

적절히 버전이 지정된 `pip` 명령도 제공될 수 있습니다.

윈도우에서는 `py` 파이썬 실행기를 `-m` 스위치와 조합해서 사용하십시오:

    py -2   -m pip install SomePackage  # 기본 파이썬 2
    py -2.7 -m pip install SomePackage  # 특정하여 파이썬 2.7
    py -3   -m pip install SomePackage  # 기본 파이썬 3
    py -3.4 -m pip install SomePackage  # 특정하여 파이썬 3.4

## 흔히 만나는 설치 문제

### 리눅스에 시스템 파이썬 설치하기

리눅스 시스템에서, 보통 파이썬 설치가 배포 일부로 포함됩니다. 이 파이썬 설치에 설치하려면 시스템에 대한 루트 액세스가 필요하며, `pip` 를 사용하여 구성 요소가 예기치 않게 업그레이드되면 시스템 패키지 관리자와 시스템의 다른 구성 요소의 작동을 방해할 수 있습니다.

이러한 시스템에서는, `pip` 로 패키지를 설치할 때 가상 환경이나 사용자별 설치를 사용하는 것이 더 좋습니다.

### Pip가 설치되지 않았습니다.

`pip` 가 기본적으로 설치되지 않았을 수도 있습니다. 한가지 가능한 해결법은 다음과 같습니다:

    python -m ensurepip --default-pip

pip 설치 에 대한 추가 자원도 있습니다.

### 바이너리 확장 설치하기

파이썬은 일반적으로 소스 기반 배포에 크게 의존하고 있으며, 최종 사용자가 설치 프로세스의 일부로 소스로부터 확장 모듈을 컴파일할 것으로 기대합니다.

바이너리 `wheel` 형식에 대한 지원의 도입과 파이썬 패키지 색인을 통해 적어도 윈도우와 맥 OS 용의 휠을 게시할 수 있게 됨에 따라, 사용자가 스스로 빌드하기 보다는 점차 사전 빌드된 확장들을 설치할 수 있게 되어, 이 문제는 시간이 지날수록 줄어들 것으로 예상합니다.

`wheel` 파일로 아직 사용할 수 없는 과학 계산용 소프트웨어 설치를 위한 어떤 해결책들은 로컬에서 빌드할 필요 없이 다른 바이너리 확장을 얻는 데 도움이 될 수 있습니다.

더 보기

파이썬 패키징 사용자 지침서: 바이너리 확장