Linux CentOS7 Python 2.7.5에서 3.6으로 Version Up하기

python post logo Linux

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에 대한 더 자세한 내용은 다음 글을 참조 하십시오.

Python 유틸리티 pip (추가 패키지 설치하기)
pip 패키지 Python 추가 패키지의 설치 등을 실시하는 유틸리티 패키지 입니다. pip는The Python Package Index에서 공개되어 있지만 Python 3.4 이후에는 설치 프로그램 안에 기본으로 ...
제목과 URL을 복사했습니다