인디노트

RHEL/CentOS 에 python 2.7, 3.* 설치하기 본문

소스 팁

RHEL/CentOS 에 python 2.7, 3.* 설치하기

인디개발자 2019. 8. 17. 21:42

 

개요

CentOS 6 에는 Python 2.6 이 탑재되어 있으며 많은 시스템 유틸리티(Ex: semange 같은 SELinux 관리 유틸)이 기본 설치된 파이썬과 의존 관계에 있습니다.

 

python 으로 만들어진 로그 취합 서비스인 Sentry 는 Python 2.7 이상을 요구하며 다음과 같은 설치 방법이 있습니다.

 

  1. 소스 tarball 을 다운 받아서 컴파일하여 설치
  2. rpm 패키지를 구해서 패키지 매니저로 설치

 

개인적으로는 웬만하면 소스 컴파일을 자제하는 편이지만 python 은 CentOS 에 꼭 필요한 프로그램이며 2번 방식으로 설치할 경우 기본 설치된 python 에 덮어써서 시스템 유틸리티가 제대로 동작하지 않을 위험이 있습니다.

 

그래서 1번 방식으로 소스를 다운받아서 설치하는 게 낫다고 판단하였고 기존 python 과 중복되지 않게 다음과 같이 설치 했습니다.

 

설치

  1. https://www.python.org/downloads/  에서 다운로드

    python2

    wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz

    python3

    wget https://www.python.org/ftp/python/3.4.6/Python-3.4.6.tar.xz

  2. 압축 해제

    tar xJvf Python-2.7.12.tar.xz

    python3

    tar xJvf Python-3.4.6.tar.xz

  3. 폴더로 이동

    cd Python-2.7.12

    python3

    cd Python-3.4.6

  4. auto config 수행. 이때 중요한 것은 --prefix 옵션으로 설치될 경로를 지정해 주는 것입니다.

    ./configure --prefix=/usr/local/python2.7 --enable-shared

    python3

    ./configure --prefix=/usr/local/python3.4 --enable-shared

  5. make 로 컴파일하고 test 로 한 번 돌려줍니다.

    make test

  6. 정상적으로 끝났으면 설치해 주며 /usr/local 에 쓰기 권한이 필요하므로 루트로 수행합니다.

    make install

설정

설치가 완료되었으므로 시스템 변수에 등록해 주기 위해 다음 내용을 .bash_profile 에 추가합니다.

PY27=/usr/local/python2.7/

export PATH=$PATH:${PY27}/bin

export LD_LIBRARY_PATH=${PY27}/lib:$LD_LIBRARY_PATH

  

## Python 3

PY34=/usr/local/python3.4/

export PATH=$PATH:${PY34}/bin

export LD_LIBRARY_PATH=${PY34}/lib:$LD_LIBRARY_PATH

 

 설정이 끝났으면 현재 쉘에 변경된 설정을 반영합니다.

source ~/.bash_profile

 

이제 python2.7 명령어를 실행하면 새로 설치한 python 을 사용할 수 있습니다.

$  python2.7

 

Python 2.7.11 (default, Apr 22 2016, 12:37:55)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

 

패키지 관리자 설치

외부 패키지를 설치할 때 필요한 setuptools 와 pip 를 설치합니다.

setuptools

  1. 다운로드 

    curl -k -O https://pypi.python.org/packages/source/s/setuptools/setuptools-20.9.0.tar.gz

  2. 압축 해제 및 이동

    tar zxvf setuptools-20.9.0.tar.gz

    cd setuptools-20.9.0

  3. 설치(root 권한 필요)

    python2.7 setup.py install

pip

  1. 다운로드

    curl -O -k https://pypi.python.org/packages/source/p/pip/pip-8.1.1.tar.gz

  2. 압축 해제 및 이동

    tar zxvf pip-8.1.1.tar.gz

    cd pip-8.1.1

  3. 설치(root 필요)

    python2.7 setup.py install

참고

반응형
Comments