Yuta NakataのBlog

Python / AWS / ITについて役立つ情報を発信します

【コピペでOK】EC2にPython3.12を入れる

背景

EC2はデフォルトでは、PythonのVersionが非常に古いです。

そこで、EC2のVersionUpを試みるも環境構築に苦戦するケースが散見されます。

巷にあふれる同様のHow To記事も見かけますが、

  • 対象OSの記載がない
  • versionが古い

とうまくいかないことが多いです。

そこで、本記事ではEC2(Amazon Linux2)を使ってPython3.12を導入する方法を記載します。

特に、今後同様のユースケースにおいてコピペで使えるように、丁寧な導入込みで解説します。

前提

OSは、Amazon Linux2を対象とします。

また、EC2へのログインはできたが、なにもinstallしていないことを前提条件とします。

既に何らかのライブラリをinstallしている場合、挙動の保証はいたしません。

手順

以下のステップに分けて説明していきます。

  1. 管理者パスワードを設定する
  2. gitをinstallする
  3. brewをinstallする
  4. 関連パッケージをinstallする
  5. pyenvをinstallする
  6. python3.12をinstallする

具体的なコマンドは下記がすべてです。

# 1. 管理者パスワードを設定する
sudo passwd ec2-user

sudo yum update

# 2. gitをinstallする
sudo yum install git

# gitのversionが表記されていることを確認してください
git version

# 3. brewをinstallする
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /home/ec2-user/.bashrc

eval "$(/opt/homebrew/bin/brew shellenv)"

# brewのversionが表記されていることを確認してください
brew --version

# 4. 関連パッケージをinstallする
sudo yum install -y openssl11 openssl11-devel

sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel

# 5. pyenvをinstallする
curl https://pyenv.run | bash

~/.bashrcに下記を記載してください。

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "($pyenv init -)"
source ~/.bashrc

# pyenvのversionが表記されていることを確認してください
pyenv --version

# 次のコマンドで出てきたものはすべて、Install可能です。Python3.11でも12でもOKです
pyenv install --list

# 6. python3.12をinstallする
pyenv install 3.12.5

pyenv global 3.12.5

pyenv local 3.12.5

# 指定したversion(ここでは3.12.5が表記されていることを確認)
python3 --version

上記でエラーが出る、うまくいかないなどあればお気軽にコメントください!

また、この記事が

役に立った!応援してます!

などがあれば、ぜひスター★シェアをお願いします!