Ubuntu には最初からPythonがインストールされており、そのまま利用可能です。
しかし、このPython は、 OS がさまざまな機能を提供するために使用しています。ユーザが勝手にパッケージを導入したりすると、 OS の安定性を損なうことも考えられますので、別途、あたらしい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
最後に指定している tk-dev パッケージは、tkinter を使ったGUIアプリケーションを実行する場合に必要となります。
Webサーバなど、GUIを持たない環境にPythonをインストールする場合には不要です。
ソースコードのダウンロード¶
Python公式サイトの ダウンロードページ はちょっとわかりにくいので、こちらのページ からソースコードをダウンロードします。
最新のPythonを選択してダウンロードしましょう。
ダウンロードしたファイルは、次のコマンドで解凍します。
$ tar xJf Python-3.x.y.tar.xz
ビルド¶
次のコマンドで、Pythonをビルドしてインストールします。
$ cd Python-3.x.y
$ ./configure
$ make
$ sudo make install
ビルドしたコマンドは /usr/local/bin にインストールされ、python3 コマンドまたは python3.x コマンドで起動できます。
ディレクトリを指定してインストール¶
デフォルトでは、Pythonは /usr/local/ 以下にインストールされます。
/usr/local 以外のディレクトリにインストールする場合は、configure に --prefix オプションを指定します。
例えば、管理者権限のない環境などで、ホームディレクトリにPythonをインストールする場合は、次のように指定します。
cd Python3.x.y
./configure --prefix=/home/user/.local/python
make
make install
pyenvによるビルド¶
ビルト用のツールとして pyenvのpython-build を利用すると、ソースのダウンロードからインストールまで、コマンド一つで実行できます。
次の例は、Python 3.8.3 を、ディレクトリ ~/python3.8 にインストールします。
git clone git://github.com/pyenv/pyenv.git
pyenv/plugins/python-build/bin/python-build 3.8.3 ~/python3.8
複数バージョンのインストール¶
上で紹介したように、通常Pythonをインストールする時は、次のコマンドでビルドしたファイルをインストールします。
$ sudo make install
make install コマンドは、Pythonのバージョンを指定して実行する python3.x コマンドと、最後にインストールしたPythonを実行する python3 コマンドの2つをインストールします。
複数バージョンのPythonを同時に利用する場合は、python3 コマンドで実行したいバージョンのPythonだけを make install でインストールし、それ以外のバージョンは
$ sudo make altinstall
でインストールします。
make altinstall でインストールした場合、python3.x コマンドはインストールされますが、python3 コマンドはインストールされません。
これにより、python3 コマンドでは主に使用するバージョンのPythonを起動し、それ以外のバージョンのPythonは python3.7 のように、バージョンを指定して実行できるようになります。