고급 Python

Pip

개요

 pip는 The Python Package Installer의 약자로서 말 그대로 Python 가상환경을 구성하고 Python 패키지를 설치하기 위한 설치 도구이다. Linux의 패키지 설치 도구인 APT, YUM 등을 떠올리면 된다.

 pip를 좀 더 활용하기 위해서는 pip에서 제공하는 각종 옵션들을 알아둘 필요가 있다. `pip -h` 명령으로 간단한 옵션 도움말을 볼 수 있으며 pip.PyPA.io에서 공식 레퍼런스를 참조할 수 있다.

 매번 자주 사용하는 pip 옵션의 경우 설정 파일에 저장하여 항상 적용되도록 할 수 있다. 각 운영체제 별로 저장되는 경로가 있으니 참조해서 해당 폴더 및 파일을 생성하면 된다. 설정 파일의 포맷은 위 링크를 참조하면 알 수 있다.

설정 포맷

  • [global] : 사용되는 모든 가상환경에 대해서 전역적으로 설정이 적용되는 구간이다.

PyPI 서버 지정

 PyPI는 Python 패키지들을 모아놓은 패키지 서버이다. 기본 서버의 주소는 해외에 있어 각종 패키지를 다운로드할 때 항상 느린 속도를 감수해야 한다. 그래서 로컬 Private PyPI 서버를 구축하는 경우도 있지만 비용문제가 발생하기 때문에 고맙게도 Kakao 社에서 제공하는 Mirror PyPI 서버를 활용하면 된다. 한국 내에 서버가 있기 때문에 확실히 빠른 다운로드 속도를 보장한다. 각 운영체제 별로 지정된 PIP 설정 파일을 열고 다음 설정값을 기입한다. 대부분의 패키지에 대해 미러서버와 본서버간의 동기화가 잘 되는 것으로 보이므로 이 설정은 전역으로 설정하는 것이 좋다. 고로 [global] 태그를 아래 설정값 윗 줄에 지정해둔다.

[global]
index-url=https://mirror.kakao.com/pypi/simple/
extra-index-url=https://pypi.org/simple/
trusted-host=mirror.kakao.com

 index-url은 패키지를 검색할 PyPI 서버 주소를 지정한다. trusted-host 값도 동일한 도메인 주소를 지정하여 다운로드 시 이 주소를 신뢰하도록 한다. Mirror 서버가 항상 모든 Origin Pypi 패키지의 상태를 반영하지 못할 수도 있다. 네트워크 상태나 서버 결함으로 인해 특정 패키지의 특정 버전은 제때 동기화하지 못하는 경우가 있을 수 있기 때문에 extra-index-url을 Origin Pypi 주소로 지정하여 fallback 서버로서 동작하도록 한다.

mkdir -p ~/.config/pip &&\
echo -e \
"[global]\n"\
"index-url=https://mirror.kakao.com/pypi/simple/\n"\
"extra-index-url=https://pypi.org/simple/\n"\
"trusted-host=mirror.kakao.com\n"\
> ~/.config/pip/pip.conf

 mirror.kakao.com 외에도 ftp.kaist.ac.kr 사이트도 사용가능하다.

댓글

댓글 본문
버전 관리
Hyunseok Lim
현재 버전
선택 버전
graphittie 자세히 보기