Ubuntuに最新のPythonをインストールする

2019年8月1日

UbuntuにはデフォルトでPythonがインストールされていますが、古いバージョンの場合があります。
Ubuntu上で任意のバージョンのPythonをインストールして使用できるようにします。

パッケージの更新

事前にOSの情報を確認しておきます。
今回使用するOSは「Ubuntu16.04」です。

user@user-VirtualBox:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

初めにOSのパッケージを更新しておきます。

user@user-VirtualBox:~$ sudo apt -y update
user@user-VirtualBox:~$ sudo apt -y upgrade

インストールされているPythonのバージョンを確認

事前にデフォルトでUbuntuにインストールされているPythonのバージョンを確認しておきます。
Ubuntuにはバージョン違いのPythonがインストールされています。

user@user-VirtualBox:~$ python3 --version
Python 3.5.2
user@user-VirtualBox:~$ python --version
Python 2.7.12

Pythonをインストールする

今回は最新バージョンのPythonをインストールするためにPythonのソースファイルをビルドしてインストールします。

ビルドに必要なパッケージをインストールする

事前にソースファイルのビルドに必要なパッケージをインストールします。

user@user-VirtualBox:~$ sudo apt -y install build-essential
user@user-VirtualBox:~$ sudo apt -y install python3-dev
user@user-VirtualBox:~$ sudo apt -y install libsqlite3-dev
user@user-VirtualBox:~$ sudo apt -y install libreadline6-dev
user@user-VirtualBox:~$ sudo apt -y install libgdbm-dev
user@user-VirtualBox:~$ sudo apt -y install zlib1g-dev
user@user-VirtualBox:~$ sudo apt -y install libbz2-dev
user@user-VirtualBox:~$ sudo apt -y install sqlite3
user@user-VirtualBox:~$ sudo apt -y install tk-dev
user@user-VirtualBox:~$ sudo apt -y install zip
user@user-VirtualBox:~$ sudo apt -y install libssl-dev

Pythonのソースファイルをビルドする

Pythonのソースをダウンロードしてインストールします。
以下のサイトから最新のバージョンを確認します。
https://www.python.org/downloads/source/
今回インストールするバージョンはPython 3.7.4です。

user@user-VirtualBox:~$ wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
user@user-VirtualBox:~$ tar xf Python-3.7.4.tgz
user@user-VirtualBox:~$ cd Python-3.7.4
user@user-VirtualBox:~$ ./configure --prefix=/opt/python3
user@user-VirtualBox:~$ make
user@user-VirtualBox:~$ sudo make install

インストールが完了したらPythonのバージョンを確認してみます。

user@user-VirtualBox:~$ /opt/python3.7.4/bin/python3.7 -V
Python 3.7.4

以上でインストールの作業は完了です。

シンボリックリンクを設定する

インストールしたPythonにシンボリックリンクを設定します。
環境変数「$PATH」の/usr/local/bin/以下にシンボリックリンクを作成します。

user@user-VirtualBox:~$ sudo ln -s /opt/python3.7.4/bin/python3.7 /usr/local/bin/python3.7

シンボリックリンクが正しく設定できたか確認します。

user@user-VirtualBox:~/Python-3.7.4$ python3.7 -V
Python 3.7.4