[CentOS 5.11] Python 2.7.8 및 pip 설치하기 Develop Tip

CentOS 5.11 은 아직까지 CentOS 에서 지원을 중단하지 않고 지원되고 있는 것 같습니다.
문제는 이 버전에서 파이썬을 2.x를 이용하려는데,
버전이 너무 낮습니다.

현재 파이썬 2.x의 가장 최신 버전은 2.7.9 (이 글을 쓰고 있는 2015년2월 시점) 이지만,
CentOS 5.11 (i386)의 시스템 설치된 파이썬 2.x 버전은 2.4.3 입니다.
다른 여러 차이점이 있지만 가장 큰 차이점은 2.4.3에서는 with 문장도 지원되지 않는 점이더라구요.

아뭏든 여러 이유에서 CentOS 5.11에서 시스템 디폴트 python을 2.7로 올리는 것은 
무리가 많습니다. 대신 VirtualEnv 처럼 특정 위치에 python2.7을 올려 그 버전으로 pip도 설치되고
이용하는 것은 아무 이상없이 동작할 수 있습니다.

몇시간의 삽질 끝에 CentOS 5.11 i386 버전에서 /opt/bin 에 2.7.8 의 python을 설치하고
이용하는 방법을 찾았기에 기술합니다.

(처음에는 2.7.9 최신 버전을 시도했으나 get-pip.py 에서 오류가 발생하는 바람에,
 2.7.8 로 설치를 하였습니다)

1) sudoer 추가

현재 사용자의 group 을 staff 에 넣고
/etc/sudoers 파일에

%staff  ALL=(ALL)       ALL

라는 내용을 넣도록 합니다.


2) 파이썬 및 get_pip.py 파일 받아오기.

$ mkdir -p ~/PKG && cd ~/PKG
wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
$ tar xvzf Python-2.7.8.tgz
$ wget https://bootstrap.pypa.io/get-pip.py


3) build & pip install

$ cd ~/PKG
$ vi build_python_opt.sh
#!/bin/bash
sudo yum -y install gcc
sudo yum -y install zlib-devel
sudo yum -y install openssl-devel
sudo yum -y install readline-devel
if [ ! -f /opt/bin/python ];then
        pushd Python-2.7.8
                make distclean
                ./configure --prefix=/opt
                make
                sudo make install
        popd
fi
if [ ! -f /opt/bin/pip ];then
        sudo /opt/bin/python get-pip.py
fi
/opt/bin/pip list

라는 내용으로 실행시킵니다.

그러면 /opt/bin/python 이라는 2.7.8 CPython 인터프리터가 생성됩니다.
/opt/bin을 시스템 PATH에 넣지 않음으로써
절대 경로를 주고 /opt/bin/python 으로 직접 실행시키면 됩니다.

$ /opt/bin/python -V
Python 2.7.8

또한 /opt/bin/pip list 와 같이 명령을 주어

$ /opt/bin/pip list
pip (6.0.8)
setuptools (12.2)

와 같이 pip를 실행 시킬 수 있습니다.

그리고 필요 패키지를 설치할 수 있지요.

$ sudo /opt/bin/pip install psutil
$ /opt/bin/pip list
pip (6.0.8)
psutil (2.2.1)
setuptools (12.2)

$ /opt/bin/python -c "import psutil;print psutil.__file__"
/opt/lib/python2.7/site-packages/psutil/__init__.pyc

위와 같이 /opt/lib 에 별도로 모듈이 설치되는 것을 확인 할 수 있습니다.


어느 분께는 도움이 되셨기를...


덧글

댓글 입력 영역

구글애드텍스트