概要
Linuxに任意のバージョンのPythonをインストールする手順を記載します。
Linuxにも色々ありますが、本記事では次のディストリビューションへのインストール手順を紹介します。
- Ubuntu(22.04/24.04)
- Amazon Linux2023
上記のディストリビューションに関しては、最初からPythonが備わっていることを確認しています。
最初から備わっているPythonのことを本手順ではシステムPython
と呼びます。
システムPythonはOSの動作に関わっているため、いじらない方が良いです。
なお、システムPythonのバージョンは、以下の通りでした。(2025/1/27確認時点)
Ubuntu 22.04:3.10.12
Ubuntu 24.04:3.12.10
Amazon Linux2023:3.9.16
もし、システムPythonを利用するのであれば、他のPythonバージョンをインストールする必要は無いので、本記事の手順は実施不要です。
インストール方法ですが、選択肢としては次の3つが挙げられます。
① パッケージマネージャ(aptやdnf)でインストールする -> 任意のバージョンがインストールできない
② ソースコードをダウンロードし、ビルドする -> 任意のバージョンはインストールできるが、インストール手順やバージョン管理方法が複雑
③ pyenvを用いる -> インストールやバージョン管理が簡単
一番操作が簡単なpyenv
を用いてインストールを行います。
前提条件
Gitがインストール済みであること
手順
pyenvインストール
Ubuntuの場合
※以下の手順は、Ubuntu 22.04 および 24.04にて動作することを確認しています。
$ sudo apt update
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ sudo apt install libedit-dev -y
$ sudo apt install libncurses5-dev -y
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git
pyenvをPATHに通します。
vi ~/.profile
if [ -n "$BASH_VERSION" ]; then
の直後に、次の3行を挿入して下さい。
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
3行挿入すると、次のようになります。
# if running bash
if [ -n "$BASH_VERSION" ]; then
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
続いて、~/.bashrc
を編集します。
vi ~/.bashrc
ファイルの最下部に下記を追記します。
eval "$(pyenv init -)"
シェルを再起動します。
$ exec $SHELL -l
pyenvがインストールされていることを確認して下さい。
$ pyenv --version
AmazonLinux2023の場合
$ sudo dnf install -y gcc zlib-devel bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
$ curl https://pyenv.run | bash
pyenvをPATHに通します。次の3つのコマンドを実行して下さい。
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
シェルを再起動します。
$ exec $SHELL -l
pyenvがインストールされていることを確認して下さい。
$ pyenv --version
Pythonインストール
次のコマンドにて、インストール可能なバージョンの一覧を表示できます。
$ pyenv install -l
この中からインストールしたいバージョンが存在することを確認し、
次のコマンドを実行すればPythonがインストールされます。
$ pyenv install <任意のバージョン>
新規インストールが完了したら、次のコマンドを実行する必要があるようです。
$ pyenv rehash
次のコマンドにて、インストールされているPython一覧(システムPython含む)が確認可能です。
$ pyenv versions
Pythonのバージョンを切り替えるには次のコマンドを実行します。
globalにすると全体に反映し、
localにするとカレントディレクトリにのみ反映されます。
$ pyenv global <インストールされたPythonバージョン>
or
$ pyenv local <インストールされたPythonバージョン>
Pythonインストール手順は以上となります。
参考
https://qiita.com/tfukumori/items/c2997988acacd0da17d0
https://www.kkaneko.jp/tools/man/python.html#systempython
https://techblog.ap-com.co.jp/entry/2024/04/26/083000