이번 포스트에서는 CentOS 7에서 Python 3.6 설치 방법을 공유드리고자 합니다.
CentOS는 기본적으로 Python 2가 설치되어 있습니다.
그리고 현시점(19년 5월 8일)까지는 Yum을 통해 Python 3를 기본적으로 제공해주지 않고 있습니다.
아직 혼재되어 2와 3을 혼재하여 사용하고 있지만 요즘 나오는 것들은 모두 3 버전에 맞춰 나오고 있기 때문에 장기적으로는 3버전으로 이동해야 합니다.
저는 Python 3.6 설치를 위해 여러 방법이 있겠지만, IUS Repository를 이용하는 방법을 공유드릴 것입니다.
IUS Repository 설치
[root@lab01]# yum install https://centos7.iuscommunity.org/ius-release.rpm
[root@lab01]# yum update
위 Command를 통해 IUS Repository를 설치해줍니다.
IUS(Inline with Upstream Stable) Community를 통해 자세히 알아보실 수 있지만, 간단하게 소개해드리자면, RedHat 계열의 Linux와 CentOS에 안정적이고 높은 퀄리티의 RPM을 제공하는 것이 주 목적이라고 합니다.
Yum에서 Python 3.6 확인
[root@lab01]# yum search python36
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.sjc02.svwh.net
* epel: mirror.layeronline.com
* extras: mirror.fileplanet.com
* ius: mirrors.kernel.org
* remi-php72: repo1.sea.innoscale.net
* remi-safe: repo1.sea.innoscale.net
* updates: mirror.fileplanet.com
=================================== N/S matched: python36 ===================================
....(중간생략)
python36u.x86_64 : Interpreter of the Python programming language
python36u-debug.x86_64 : Debug version of the Python runtime
python36u-devel.x86_64 : Libraries and header files needed for Python development
python36u-gunicorn.noarch : Python WSGI application server
python36u-libs.x86_64 : Python runtime libraries
...
IUS Repo를 설치하기 전까지는 검색이 되지 않았던 python36u가 검색되는 것을 보실 수 있습니다.
만약 IUS Repo 설치 전에 이 글을 보셨다면 비교해보시는 것도 좋을 것 같습니다.
Python 3.6 설치
[root@lab01]# yum install -y python36u python36u-devel python36u-libs python36u-pip
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.sjc02.svwh.net
* epel: mirror.layeronline.com
* extras: mirror.fileplanet.com
* ius: mirrors.kernel.org
* remi-php72: repo1.sea.innoscale.net
* remi-safe: repo1.sea.innoscale.net
* updates: mirror.fileplanet.com
Resolving Dependencies
--> Running transaction check
....
...(중간 생략)
...
Installed:
python36u.x86_64 0:3.6.7-1.ius.centos7 python36u-devel.x86_64 0:3.6.7-1.ius.centos7
python36u-libs.x86_64 0:3.6.7-1.ius.centos7 python36u-pip.noarch 0:9.0.1-1.ius.centos7
Dependency Installed:
python36u-setuptools.noarch 0:39.0.1-1.ius.centos7
Complete!
yum을 통해 ‘python36u, python36u-devel, python36u-libs, python36u-pip’를 설치해줍니다.
위 4가지는 개발환경 구축에 필요한 패키지 인 것 같습니다.
/usr/bin 에서 python symbolic link 수정
[root@lab01]# cd /usr/bin
[root@lab01 bin]# ll | grep python
lrwxrwxrwx. 1 root root 7 Apr 24 03:21 python -> python2
lrwxrwxrwx. 1 root root 9 Apr 24 03:21 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Apr 9 23:31 python2.7
-rwxr-xr-x. 2 root root 11376 Dec 6 06:04 python3.6
lrwxrwxrwx. 1 root root 26 May 7 18:59 python3.6-config -> /usr/bin/python3.6m-config
-rwxr-xr-x. 2 root root 11376 Dec 6 06:04 python3.6m
-rwxr-xr-x. 1 root root 173 Dec 6 06:04 python3.6m-config
-rwxr-xr-x. 1 root root 3435 Dec 6 06:01 python3.6m-x86_64-config
/usr/bin에서 위와 같이 조회해보면 현재 python은 python2(python2 -> python2.7)로 설정이 되어 있는 것을 알 수 있습니다.
기본 Path가 2버전으로 설정되어 있기 때문에 3버전과 호환이 안될 수 있습니다.
이 부분을 수정해주는 작업이 필요합니다.
수정하는 방법은 아래 Command와 같이 해주시면 되겠습니다.
저는 /usr~부터 경로를 지정해줬는데 원래 2.7이 링크되어 있던 것을 보면 어차피 경로가 같으니 앞 부분의 Directory는 생략해도 될 것 같습니다.
[root@lab01 bin]# rm -i /usr/bin/python
rm: remove symbolic link ‘/usr/bin/python’? yes
[root@lab01 bin]# ln -s /usr/bin/python3.6 /usr/bin/python
Symbolic Link 설정 확인
[root@lab01 bin]# ll | grep python
lrwxrwxrwx. 1 root root 18 May 7 19:01 python -> /usr/bin/python3.6
lrwxrwxrwx. 1 root root 9 Apr 24 03:21 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 Apr 9 23:31 python2.7
-rwxr-xr-x. 2 root root 11376 Dec 6 06:04 python3.6
lrwxrwxrwx. 1 root root 26 May 7 18:59 python3.6-config -> /usr/bin/python3.6m-config
-rwxr-xr-x. 2 root root 11376 Dec 6 06:04 python3.6m
-rwxr-xr-x. 1 root root 173 Dec 6 06:04 python3.6m-config
-rwxr-xr-x. 1 root root 3435 Dec 6 06:01 python3.6m-x86_64-config
그럼 위와 같이 수정된 것을 확인하실 수 있습니다.
위의 과정을 거치시면 해당 OS에서 Python 3 버전을 이용하실 수 있습니다. 혹시 이 과정을 해보시다가 안되시면 댓글 남겨주시기 바랍니다. 저 또한 찾아보고 안되는 부분에 대해 업데이트 후 공유드리도록 하겠습니다.
기타 Python 관련 글을 더 보고 싶으시다면 Python 기본 내용 다루기 (사이트내 글 모음)을 참고해주시기 바랍니다.
이상 CentOS 7에서 Python 3.6 설치 방법 공유글이었습니다.