Linux(CentOS7)にPython3をyumでインストールする

IT技術

概要

CentOS 7には標準でPython 2系がインストールされている。
本記事ではyumを使ってPython 3を追加インストールする。

システム環境

CentOS Linux release 7.9.2009 (Core)

Python 3インストール

インストール前はPython 2しかインストールされていない。

[root@testserver /]# yum list installed | grep "^python.x86_64"
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
python.x86_64                             2.7.5-89.el7                  @CentOS 
[root@testserver /]# python -V
Python 2.7.5
[root@testserver /]# 

yumを使ってPython 3をインストールする。

[root@testserver /]# yum install python3.x86_64
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: centos-distro.cavecreek.net
 * extras: mirrors.sonic.net
 * updates: mirrors.raystedman.org
Resolving Dependencies
--> Running transaction check
---> Package python3.x86_64 0:3.6.8-18.el7 will be installed
--> Processing Dependency: python3-libs(x86-64) = 3.6.8-18.el7 for package: python3-3.6.8-18.el7.x86_64
--> Processing Dependency: python3-setuptools for package: python3-3.6.8-18.el7.x86_64
--> Processing Dependency: python3-pip for package: python3-3.6.8-18.el7.x86_64
--> Processing Dependency: libpython3.6m.so.1.0()(64bit) for package: python3-3.6.8-18.el7.x86_64
--> Running transaction check
---> Package python3-libs.x86_64 0:3.6.8-18.el7 will be installed
--> Processing Dependency: libtirpc.so.1()(64bit) for package: python3-libs-3.6.8-18.el7.x86_64
---> Package python3-pip.noarch 0:9.0.3-8.el7 will be installed
---> Package python3-setuptools.noarch 0:39.2.0-10.el7 will be installed
--> Running transaction check
---> Package libtirpc.x86_64 0:0.2.4-0.16.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================
 Package                        Arch               Version                     Repository           Size
=========================================================================================================
Installing:
 python3                        x86_64             3.6.8-18.el7                updates              70 k
Installing for dependencies:
 libtirpc                       x86_64             0.2.4-0.16.el7              base                 89 k
 python3-libs                   x86_64             3.6.8-18.el7                updates             6.9 M
 python3-pip                    noarch             9.0.3-8.el7                 base                1.6 M
 python3-setuptools             noarch             39.2.0-10.el7               base                629 k
Transaction Summary
=========================================================================================================
Install  1 Package (+4 Dependent packages)
Total download size: 9.3 M
Installed size: 48 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): python3-3.6.8-18.el7.x86_64.rpm                                            |  70 kB  00:00:00     
(2/5): libtirpc-0.2.4-0.16.el7.x86_64.rpm                                         |  89 kB  00:00:00     
(3/5): python3-setuptools-39.2.0-10.el7.noarch.rpm                                | 629 kB  00:00:00     
(4/5): python3-pip-9.0.3-8.el7.noarch.rpm                                         | 1.6 MB  00:00:00     
(5/5): python3-libs-3.6.8-18.el7.x86_64.rpm                                       | 6.9 MB  00:00:02     
---------------------------------------------------------------------------------------------------------
Total                                                                    3.2 MB/s | 9.3 MB  00:00:02     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libtirpc-0.2.4-0.16.el7.x86_64                                                        1/5 
  Installing : python3-setuptools-39.2.0-10.el7.noarch                                               2/5 
  Installing : python3-pip-9.0.3-8.el7.noarch                                                        3/5 
  Installing : python3-3.6.8-18.el7.x86_64                                                           4/5 
  Installing : python3-libs-3.6.8-18.el7.x86_64                                                      5/5 
  Verifying  : libtirpc-0.2.4-0.16.el7.x86_64                                                        1/5 
  Verifying  : python3-setuptools-39.2.0-10.el7.noarch                                               2/5 
  Verifying  : python3-libs-3.6.8-18.el7.x86_64                                                      3/5 
  Verifying  : python3-3.6.8-18.el7.x86_64                                                           4/5 
  Verifying  : python3-pip-9.0.3-8.el7.noarch                                                        5/5 
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!
[root@testserver /]# 

これでPython 3がインストールできた。

[root@testserver /]# yum list installed | grep "^python3.x86_64"
python3.x86_64                            3.6.8-18.el7                  @updates
[root@testserver /]# python3 -V
Python 3.6.8
[root@testserver /]# 

pythonコマンドのシンボリックリンク変更

インストールしただけでは、pythonコマンドはPython 2系のままになっている。

[root@testserver /]# python -V
Python 2.7.5
[root@testserver /]# 

この原因は以下のシンボリックリンクが設定されているからである。

[root@testserver /]# ls -l /usr/bin/python
lrwxrwxrwx 1 root root 7 Nov 13  2020 /usr/bin/python -> python2
[root@testserver /]# 

シンボリックリンクを変更することで、pythonコマンドでPython 3系が実行されるようになる。

[root@testserver /]# unlink /usr/bin/python
[root@testserver /]# ls -l /usr/bin/python
ls: cannot access /usr/bin/python: No such file or directory
[root@testserver /]#
[root@testserver /]# ln -s /usr/bin/python3 /usr/bin/python
[root@testserver /]# ls -l /usr/bin/python
lrwxrwxrwx 1 root root 16 Oct  1 09:09 /usr/bin/python -> /usr/bin/python3
[root@testserver /]# 
[root@testserver /]# python -V
Python 3.6.8
[root@testserver /]# 
タイトルとURLをコピーしました