파이썬 모듈 설치하기
********************

전자 우편:
   distutils-sig@python.org

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

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

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

참고:

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


핵심 용어
=========

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

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

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

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

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

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

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

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

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


기본 사용법
===========

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

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

   python -m pip install SomePackage

참고:

  POSIX 사용자(맥 OS X 와 리눅스 사용자를 포함합니다)의 경우, 이 지침
  서의의 예제는 *가상 환경* 을 사용한다고 가정합니다.윈도우 사용자의
  경우, 이 지침서의 예제는 파이썬을 설치할 때 시스템 PATH 환경 변수를
  조정하는 옵션이 선택되었다고 가정합니다.

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

   python -m pip install SomePackage==1.0.4    # specific version
   python -m pip install "SomePackage>=1.0.4"  # minimum version

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

   python -m pip install --upgrade SomePackage

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

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

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


어떻게 ...?
===========

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


... 파이썬 3.4 이전 버전의 파이썬에서 "pip" 를 설치합니까?
----------------------------------------------------------

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

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


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

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


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

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

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


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

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

   python2   -m pip install SomePackage  # default Python 2
   python2.7 -m pip install SomePackage  # specifically Python 2.7
   python3   -m pip install SomePackage  # default Python 3
   python3.4 -m pip install SomePackage  # specifically Python 3.4

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

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

   py -2   -m pip install SomePackage  # default Python 2
   py -2.7 -m pip install SomePackage  # specifically Python 2.7
   py -3   -m pip install SomePackage  # default Python 3
   py -3.4 -m pip install SomePackage  # specifically Python 3.4


흔히 만나는 설치 문제
=====================


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

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

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


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

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

   python -m ensurepip --default-pip

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


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

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

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

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

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