1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linuxに任意のバージョンのPythonをインストールする

Last updated at Posted at 2025-01-28

概要

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行挿入すると、次のようになります。

~/.profile(一部抜粋)
# 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

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?