파이썬 모듈 설치하기

전자 우편

distutils-sig@python.org

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

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

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

참고

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

핵심 용어

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

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

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

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

  • The Python Package Index is a public repository of open source licensed packages made available for use by other Python users.

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

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

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

기본 사용법

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

The following command will install the latest version of a module and its dependencies from the Python Package Index:

python -m pip install SomePackage

참고

For POSIX users (including macOS and Linux users), the examples in this guide assume the use of a virtual environment.

윈도우 사용자의 경우, 이 지침서의 예제는 파이썬을 설치할 때 시스템 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 로 설치하려고 시도하는 것보다 다른 방법 으로 설치하는 것이 더 쉬운 경우가 종종 있습니다.

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

On Linux, macOS, and other POSIX systems, use the versioned Python commands in combination with the -m switch to run the appropriate copy of 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

There are also additional resources for installing pip.

바이너리 확장 설치하기

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

With the introduction of support for the binary wheel format, and the ability to publish wheels for at least Windows and macOS through the Python Package Index, this problem is expected to diminish over time, as users are more regularly able to install pre-built extensions rather than needing to build them themselves.

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