CentOS 7.x에서는 Python 2.7.x가 기본으로 설치 되어 있는 경우, Python 프로그램을 작성할 때 상위 버전인 Python 3.x가 필요하다면 yum 명령을 사용하여 Python3.x 패키지를 설치해야합니다. 이 글에서는 Python3.6.8가 제공되는 updates 패키지 저장소(Repository)를 사용하여 설치하는 방법을 설명하겠습니다.
작업 환경
이 글은 다음 환경에서 작업했습니다. OS버전이 다르면 명령 또는 명령 실행 결과가 다소 다를 수 있습니다.
$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
$ uname -a
Linux centossvr02 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
현재 설치 버전 확인하기
다음 명령으로 현재 설치되어있는 Python의 버전 정보를 확인합니다. (주의) 옵션 -V는 대문자입니다.
$ python -V
Python 2.7.5
패키지 저장소에서 최신 버전 python 확인하기
다음과 같이 기본 패키지 저장소 base, extras, updates 중 updates 패키지 저장소에서 python 3.6.8를 제공하고 있음을 확인할 수 있습니다.
$ yum repolist enabled
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ty1.mirror.newmediaexpress.com
* extras: ty1.mirror.newmediaexpress.com
* updates: ty1.mirror.newmediaexpress.com
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,072
extras/7/x86_64 CentOS-7 - Extras 498
updates/7/x86_64 CentOS-7 - Updates 2,552
repolist: 13,122
$ yum list python3
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ty1.mirror.newmediaexpress.com
* extras: ty1.mirror.newmediaexpress.com
* updates: ty1.mirror.newmediaexpress.com
Available Packages
python3.i686 3.6.8-18.el7 updates
python3.x86_64 3.6.8-18.el7 updates
python3 설치하기
다음과 같이 최신 버전으로 선택하여 설치합니다. 전체 설치 결과는 여기를 참조하십시오.
$ sudo yum install python3
... 중간 생략 ...
Installed:
python3.x86_64 0:3.6.8-18.el7
Dependency Installed:
libtirpc.x86_64 0:0.2.4-0.16.el7
python3-libs.x86_64 0:3.6.8-18.el7
python3-pip.noarch 0:9.0.3-8.el7
python3-setuptools.noarch 0:39.2.0-10.el7
Complete!
$
최신 Version Up & 결과 확인하기
인스톨한 결과를 다음과 같이 확인할 수 있습니다. python3.6을 인스톨한 결과 python2.7과 python3.6이 같이 공존하는 것을 확인할 수 있습니다.
$ ls -l /usr/bin/* | grep python
lrwxrwxrwx. 1 root root 7 7월 10 17:42 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root 9 7월 10 17:42 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7144 10월 14 2020 /usr/bin/python2.7
lrwxrwxrwx. 1 root root 9 8월 10 02:09 /usr/bin/python3 -> python3.6
-rwxr-xr-x. 2 root root 11328 11월 17 2020 /usr/bin/python3.6
-rwxr-xr-x. 2 root root 11328 11월 17 2020 /usr/bin/python3.6m
아직 /user/bin/python이 /user/bin/python2를, /user/bin/python2는 /user/bin/python2.7를 참조하기 때문에 다음과 같은 버전 확인은 이전 버전으로 표시됩니다.
$ python -V
Python 2.7.5
다음 명령으로 /usr/local/bin/python 의 링크 타켓을 python3로 변경합니다. (주의)세션을 끊은 후 다시 로그인해서 접속해야만 내용이 반영됩니다.
$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/centos/.local/bin:/home/centos/bin
$ sudo ln -s /usr/bin/python3.6 /usr/local/bin/python
$ ls -la /usr/local/bin/python
lrwxrwxrwx. 1 root root 18 Nov 19 05:41 /usr/local/bin/python -> /usr/bin/python3.6
$ python -V
Python 3.6.8
Hello World 출력하기
다음과 같이 print (“Hello World”) 내용으로 test.py 파일을 작성해서 python test.py 명령으로 실행합니다.
$ cat test.py
print ("Hello World")
$ python test.py
Hello World
pip를 최신 버전으로 업그레이드
pip업그레이드는 다음과 같습니다.
$ sudo python3.6 -m pip install --upgrade pip
pip에 대해서
python36-pip 설치 결과는 다음과 같습니다.
$ which pip3.6
/usr/local/bin/pip3.6
pip 버전 확인 방법은 다음과 같습니다.
$ python3.6 -m pip -V
pip 20.2.4 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
$ pip -V
pip 20.2.4 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
$ pip3 -V
pip 20.2.4 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
pip에 대한 더 자세한 내용은 다음 글을 참조 하십시오.