[Linux] CentOS 6 Python 2.7 설치
CentOS 6 의 기본 Python 버전은 v2.6 입니다.
CentOS 의 응용프로그램들은 Python 2.6 과 호환되도록 설정되어있고, 이를 Update 를 할 경우 다수의 응용프로그램들이 문제가 발생 할 수 있습니다.
하지만 일부 시스템은 몇몇 소프트웨어를 사용하기위해, 최신 버전의 Python 을 사용하기 원합니다.
위와 같은 일부 시스템에 최신 버전의 Python 을 설치하기 위해서는 다음과 같은 절차로 설치를 진행하면 됩니다.
SCL Repository 연결
yum 명령을 통해 SCL Repository 를 연결합니다.
# yum install -y centos-release-scl
SCL Repository 연결 확인
Repository 가 정살적으로 연결 되었는지 확인합니다.
# yum repolist
Loading mirror speeds from cached hostfile
* base: centos.mirror.moack.net
* epel: mirror.premi.st
* extras: centos.mirror.moack.net
* updates: centos.mirror.moack.net
repo id repo name status
base CentOS-6 - Base 6,713
centos-sclo-rh CentOS-6 - SCLo rh 2,880
centos-sclo-sclo CentOS-6 - SCLo sclo 406
epel Extra Packages for Enterprise Linux 6 - x86_64 12,517
extras CentOS-6 - Extras 35
updates CentOS-6 - Updates 257
repolist: 22,808
Python 2.7 설치
등록한 Repository 를 통해 설치가 가능한 Python 을 확인합니다.
# yum list python27-python.x86_64 --showd
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: centos.mirror.moack.net
* epel: mirror.premi.st
* extras: centos.mirror.moack.net
* updates: centos.mirror.moack.net
Available Packages
python27-python.x86_64 2.7.8-3.el6 centos-sclo-rh
python27-python.x86_64 2.7.8-16.el6 centos-sclo-rh
python27-python.x86_64 2.7.8-18.el6 centos-sclo-rh
python27-python.x86_64 2.7.13-3.el6 centos-sclo-rh
원하는 특정 버전을 확인하고 설치 진행합니다.
테스트를 위해 v2.7.8-3 로 설치하도록 하겠습니다.
# yum install python27-python-2.7.8-3.el6
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: centos.mirror.moack.net
* epel: mirror.premi.st
* extras: centos.mirror.moack.net
* updates: centos.mirror.moack.net
Resolving Dependencies
--> Running transaction check
---> Package python27-python.x86_64 0:2.7.8-3.el6 will be installed
--> Processing Dependency: python27-python-libs(x86-64) = 2.7.8-3.el6 for package: python27-python-2.7.8-3.el6.x86_64
--> Processing Dependency: python27-runtime for package: python27-python-2.7.8-3.el6.x86_64
--> Processing Dependency: libpython2.7.so.1.0()(64bit) for package: python27-python-2.7.8-3.el6.x86_64
--> Running transaction check
---> Package python27-python-libs.x86_64 0:2.7.8-3.el6 will be installed
---> Package python27-runtime.x86_64 0:1.1-25.el6 will be installed
--> Processing Dependency: scl-utils for package: python27-runtime-1.1-25.el6.x86_64
--> Running transaction check
---> Package scl-utils.x86_64 0:20120927-29.el6_9 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================================================================================
Package Arch Version Repository Size
==================================================================================================================================
Installing:
python27-python x86_64 2.7.8-3.el6 centos-sclo-rh 80 k
Installing for dependencies:
python27-python-libs x86_64 2.7.8-3.el6 centos-sclo-rh 5.6 M
python27-runtime x86_64 1.1-25.el6 centos-sclo-rh 1.0 M
scl-utils x86_64 20120927-29.el6_9 base 23 k
Transaction Summary
==================================================================================================================================
Install 4 Package(s)
Total download size: 6.8 M
Installed size: 24 M
Is this ok [y/N]:
... 중략 ...
Installed:
python27-python.x86_64 0:2.7.8-3.el6
Dependency Installed:
python27-python-libs.x86_64 0:2.7.8-3.el6 python27-runtime.x86_64 0:1.1-25.el6 scl-utils.x86_64 0:20120927-29.el6_9
Complete!
위와 같이 설치가 완료가 되면, scl Command 를 이용하여 Python 을 활성화 해야됩니다.
// scl 설정 전
# python -V
Python 2.6.6
// scl 을 이용하여 PATH 등록
# scl --list
python27
# scl enable python27 bash
# echo $PATH
/opt/rh/python27/root/usr/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# python -V
Python 2.7.8
PATH 가 등록이 되고 Python 이 최신 버전으로 Update 된 것을 볼 수 있습니다.
.bash_profile 에 등록
Python 2.7 설치 경로에 있는 enable 파일을 .bash_profile 에 추가하여 shell 이 재시작하더라도 사용이 가능하게 설정을 할 수 있습니다.
# vi .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
source /opt/rh/python27/enable
시스템 재접속 테스트
# exit
logout
Connection to 192.168.XX.XX closed.
~ $ ssh root@192.168.XX.XX
root@192.168.XX.XX's password:
Last login: Wed Jan 9 00:00:00 2019 from 192.168.XX.XX
# python -V
Python 2.7.8
위와 같이 설치가 완료되었습니다.