Cloud9でPython3.12.xへバージョンアップする

記事タイトルとURLをコピーする

この記事は約2分で読めます。

この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

東北のサウナー、小菅です。
AWSのCloud9上でPythonを使って検証をしようとしましたが、
「Pythonのバージョンアップってどうやるんだっけ?」と言いつついつもググるんですが
よくわからないエラーが出たりしては他の記事を辿り・・・となりがちです。

備忘のためこの記事に残しておこうと思います。

現行バージョンの確認

Cloud9のベースOSはAmazon Linux2です。
今回は3.12.0にバージョンアップしたいと思います。
Cloud9でのPythonの現行バージョンを確認する。

administrator:~/environment $ python --version
Python 3.8.16

pyenvのインストール

pyenvを使えば、複数のバージョンのPythonを簡単に切り替えることができます。

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

.bashrcに以下の通りパスを通します。

echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
tail ~/.bashrc

.bashrcの内容を反映させ、パスが通ったか確認します。

source ~/.bashrc
pyenv --version

Pythonのインストール

pyenvを使ってPythonをインストールしていきます。
今回は最新バージョンをインストールしたいと思います。

以下コマンドでインストールするバージョンを確認します。

pyenv install -l

Pythonの最新バージョンをインストールする前に、
必要なライブラリをインストールしていきます。

sudo yum remove -y openssl-devel
sudo yum -y install bzip2-devel ncurses-devel libffi-devel readline-devel sqlite-devel.x86_64 xz-devel openssl11 openssl11-devel

※OpenSSLに関する参考資料 blog.serverworks.co.jp

今回は3.12.0をインストールしていきます。
普通に「pyenv install 3.12.0」とやるとエラーが出るため Githubのissueの通り以下コマンドでインストールしていきます。

CFLAGS=-I/usr/include/openssl LDFLAGS=-L/usr/lib pyenv install -v 3.12.0

※Github issue github.com

インストール後のPythonバージョンの切り替え

インストール完了後、切り替えるPythonのバージョンを確認します。

pyenv versions

バージョンの切り替えを行います。

pyenv global 3.12.0

以下のコマンドを実行し、切り替わっていることが確認できればOKです。

administrator:~/environment $ python --version
Python 3.12.0

小菅 信幸(執筆記事の一覧)

仙台在住/サウナをこよなく愛するエンジニア
2024 Japan AWS All Certifications Engineers