Ubuntu 22.04 LTSへの最新版Pythonのインストール

Ubuntu 22.04 LTSへの最新版Pythonのインストール サーバー

「Ubuntu 22.04に最新版Pythonをインストールしたい」
「LinuxにインストールされているPythonがよくわからない・・・」

このような場合には、この記事の内容が参考となります。
この記事では、Ubuntu 22.04 LTSへ最新版Pythonをインストールする方法を解説しています。

本記事の内容

  • デフォルトでインストール済みのPythonは使うべからず
  • 別途Pythonのインストール
  • インストールしたPythonのパス

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

デフォルトでインストール済みのPythonは使うべからず

Ubuntu 22.04 LTSでは、デフォルトで次のPythonがインストールされています。

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

このPythonの正体を追いかけます。

$ ls -l /usr/bin/python3 
lrwxrwxrwx 1 root root 10  3月 25 21:41 /usr/bin/python3 -> python3.10 
$ /usr/bin/python3.10 -V 
Python 3.10.4

実体は、「/usr/bin/python3.10」ということです。
このPythonは、基本的には開発で利用してはいけません。

理由は、開発で利用するモノではないからです。
では、何に利用されているのでしょうか?

それは、OSの機能を実現するために利用されています。
つまり、OSの一部だと言ってもよいでしょう。

だから、無暗にアップグレードをしてはいけません。
pipでパッケージをガンガンとインストールするのもやめましょう。

早い話、利用禁止のPythonということです。

以上、デフォルトでインストール済みのPythonは使うべからずを説明しました。
次は、別途Pythonのインストールを説明します。

別途Pythonのインストール

デフォルトでインストールされたPythonは利用禁止でした。
そこで、別途Pythonをインストールする必要があります。

そのための方法は、次の記事で説明しています。

基本的には、バージョンが異なるだけです。
それ以外は、同じ手順でインストールできます。

ダイジェストで最新バージョンである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

次に、Pythonのソースをダウンロードします。
下記でソースのダウンロードリンクを確認。
https://pythonlinks.python.jp/ja/index.html

現時点では、Python 3.10.4が最新のソースとなります。
ダウンロードから、ビルドまで一気に実行。

$ wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tar.xz
$ tar xJf Python-3.10.4.tar.xz
$ cd Python-3.10.4 
$ ./configure 
$ make 
$ sudo make install

以上、別途Pythonのインストールを説明しました。
最後に、インストールしたPythonのパスについて説明します。

インストールしたPythonのパス

別途インストールしたPythonのパスを確認します。

$ python3 -V 
Python 3.10.4 
$ which python3 
/usr/local/bin/python3
$ ls -l /usr/local/bin/python3 
lrwxrwxrwx 1 root root 9  4月 25 16:56 /usr/local/bin/python3 -> python3.10
$ /usr/local/bin/python3.10 -V 
Python 3.10.4

デフォルトのPythonと別途インストールしたPythonを比較してみましょう。


パス(whichで確認)実体
デフォルトでインストール済み/usr/bin/python3/usr/bin/python3.10
別途インストール/usr/local/bin/python3/usr/local/bin/python3.10

/usr/binと/usr/local/binの違いについての説明は、ここでは省きます。
これの説明をすると内容がブレてしまいます。
とにかく、ユーザーにとっては/usr/local/binの下にあるpython3が優先されるとだけ覚えてください。

そして、そのpython3は単なるシンボリックリンクに過ぎないということです。
実体は、リンク先のPythonとなります。

この仕組みを理解していれば、python3の中身を置き換えることが可能です。
そのことについては、別の記事でまとめます。

以上、インストールしたPythonのパスについて説明しました。

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