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

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

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

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

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

참고:

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


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

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

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

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

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

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

* the Python Packaging Authority is the group of developers and
  documentation authors responsible for the maintenance and evolution
  of the standard packaging tools and the associated metadata and file
  format standards. They maintain a variety of tools, documentation,
  and issue trackers on both GitHub and Bitbucket.

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

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

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


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

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

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

   python -m pip install SomePackage

참고:

  POSIX 사용자(맥 OS 와 리눅스 사용자를 포함합니다)의 경우, 이 지침서
  의의 예제는 *가상 환경* 을 사용한다고 가정합니다.윈도우 사용자의 경
  우, 이 지침서의 예제는 파이썬을 설치할 때 시스템 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 및 다른 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 용의 휠을 게시할 수 있게 됨에 따라, 사용자가 스
스로 빌드하기 보다는 점차 사전 빌드된 확장들을 설치할 수 있게 되어, 이
문제는 시간이 지날수록 줄어들 것으로 예상합니다.

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

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