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

プログラミング

Ubuntuには、最初からPythonがインストールされています。
でも、そのPythonをそのまま使ってはいけません。

だから、それとは別であたらしいPythonをインストールするのが一般的です。
今回は、そのあたらしいPythonをインストールする方法を解説します。

本記事の内容

  • デフォルトのPython
  • あらたに別バージョンのPythonをインストール

それでは、上記に沿って解説していきましょう。

デフォルトのPython

最初に、現状確認から行います。
Ubuntuのバージョンは、以下。

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"

もちろん、アーキテクチャは64bit。

$ arch
x86_64

本当なら、Ubuntu 20.04をインストールしたかったです。
でも、まだUbuntu 20.04をインストールできませんでした。

それは、利用しているVPSがそのような仕様だからです。
これは仕様なので仕方がありません。

そして、Ubuntu 18.04の場合、デフォルトでは以下のPythonがインストールされています。

$ python3 -V
Python 3.6.9
$ which python3
/usr/bin/python3

このPython 3.6.9をそのまま使ってはダメということです。
確かに古いということもあります。

印象だけではなく、実際に古いです。
以下は、Pythonのサポート期限内にあるバージョン一覧となります。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月
3.72018年6月27日2023年6月
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月

これによると、Python 3.6は2021年の12月にサポート期間が終了してしまいます。
古いから使ってはダメなのでしょうか?

いえ、このPythonを使うとOSの安定性を損なうことがあり得るのです。
だから、デフォルトのPythonを使ってはいけません

デフォルトのPythonは、OSがさまざまな機能を提供するために使用されています。
つまり、OSとデフォルトのPythonには依存関係があるのです。

そんなPythonに、パッケージをドンドンと導入していったらどうなりますか?
答えは、言うまでもありませんね。

あらたに別バージョンのPythonをインストール

重要なので、間違わないでください。
バージョンアップ(アップグレード)ではなく、インストールです

デフォルトのPythonは、OSとの依存関係を維持したまま存在し続けます。
そして、新たにインストールするPythonを私たちが利用していくことになります。

折角なので、最新バージョンをインストールしていきましょう。
2021年3月時点のPython最新バージョン(安定版)は、3.9.2です。

あたらしいPythonは、以下の流れでインストールしていきます。

  • ビルド環境の準備
  • ソースコードのダウンロード
  • ビルド

それぞれを下記で説明します。

ビルド環境の準備

必要なツールをインストールします。

$ sudo apt update
$ sudo apt install build-essential libbz2-dev libdb-dev \
  libreadline-dev libffi-dev libgdbm-dev liblzma-dev \
  libncursesw5-dev libsqlite3-dev libssl-dev \
  zlib1g-dev uuid-dev tk-dev

最近は、ビルドしてインストールすることなんてほとんどありません。
ほとんど「apt」コマンドでインストールできますからね。

ソースコードのダウンロード

Python Japanのダウンロードページ
https://pythonlinks.python.jp/ja/index.html

Python本家(英語)のダウンロードページが、かなりわかりにくいです。
そこで、Python Japanがわざわざ用意してくれたのが、上記ページということになります。

上記ページから、「Python-3.9.2.tar.xz」をダウンロードします。

追記 2021年4月12日
2021年4月4日に3.9.4がリリースされています。

$ wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tar.xz

ダウンロードしたファイルは、次のコマンドで解凍しておきます。

$ tar xJf Python-3.9.2.tar.xz

ビルド

次のコマンドを実行します。

$ cd Python-3.9.2
$ ./configure
$ make
$ sudo make install

最後に次のような表示で終われば成功です。
各パッケージのバージョンは、各時期で異なるでしょう。

Installing collected packages: setuptools, pip
Successfully installed pip-20.2.3 setuptools-49.2.1

インストールが上手くいかない場合は、再度上記コマンドを実行します。

$ make
$ sudo make install

そうすれば、上手くいくことがあります。
ビルドって、そんなもんです。

まとめ

インストールできたかを確認しましょう。
手っ取り早いのは、いったんサーバーからログアウトします。
再度ログインして、次のコマンドを実行。

$ python3 -V
Python 3.9.2
$ which python3
/usr/local/bin/python3

Pythonのバージョンが、3.6.9から3.9.2に変わりました。
動作確認もOKです。

なお、既存のPython 3.6.9は/usr/bin/python3として存在したままです。
だから、決してPython 3.6.9が消えたわけではありません。

タイトルとURLをコピーしました