AWS Cloud9でPython(3.10.4)開発環境作ってみた

初めてクラウド上でのシステム開発をすることになったので、事前勉強でAWSを使ってPython開発環境を作ってみました。
間違った記載あるかもしれませんが、自分の備忘として残していきたいと思います。

AWSの無料枠でやっていきます。
作った開発環境イメージはだいたいこんな感じ。

1.AWS アカウントを作る

何はともあれまずはAWSを利用するのにアカウントを作ります。
AmazonのAWS アカウント作成の流れを参照して作ります。

AWSを使うにはAWSにサインインしないと使えないので作ったアカウントでサインインします。
作成したAWSアカウントは「ルートユーザー」になります。
IAMユーザ作成はまた別途。

AWS コンソールサインイン

2.AWS Cloud9で開発環境を作る

AWSサインインしたら、Cloud9サービスを使ってみます。
Cloud9とは、AWSで利用できる統合開発環境(IDE)です。

「Cloud9」サービスへ行く。
「Create environment」で環境を作りましょう。
これから作る開発環境の名前を入れて(今回は適当にWorkspaceとしました)、「Next step」
詳細は今回割愛、デフォルト設定のまま「Next step」
「Create environment」
Cloud9の環境が作られ始めるので、少し待ちましょう。
出来上がり!

3.Pythonのバージョンをアップデート

(1)現在のPythonバージョンを確認

現在のPythonバージョンを確認してみましょう。
あ、Linuxです。Terminalで以下コマンドを入力します。

python --version
pythonバージョン確認

ちょっとバージョン古いので、pyenvを使って新しいバージョンのPythonをインストールし使えるようにします。

(2)pyenvのインストール

pyenvとは、pythonのバージョン管理をするツールです。
pyenvをインストールします。

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
pyenvインストール

pyenvインストールできたら、 pyenvへパスを通しておきます。
bashrcを開きます。

vi ~/.bashrc

以下を追記、保存します。

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

設定を反映します。

source ~/.bashrc

これでパス指定なしでpyenvコマンドを実行できるようになりました。
pyenvコマンドをパス指定なしで実行できることを確認しましょう。

pyenv --version
パス指定なしでpyenvコマンド実行できました!

(3)pyenvでPythonのインストール

pyenvでインストールできるPythonのバージョンを確認してみましょう。

pyenv install -l
スクロールしていくと、3.10.4 と表示されているので、今回はそれをインストールしよう。

今回は3.10.4をインストールしていきます。

pyenv install 3.10.4

あ、OpenSSLがない?とエラーになった。。

エラーになった

yumをアップデートして、yumでOpenSSLのインストールをしてみます。
まずyumアップデート。

sudo yum update -y
yum アップデート

続いて、OpenSSLをyumでインストールしてみたけど、すでにインストールされてますよ、と言われてしまった。

sudo yum -y install openssl
すでにopensslインストールされてる

調べてみると、どうもPython3.10からOpenSSL 1.1.1以降が必須になったとのこと。じゃあインストールしてみます。

sudo yum install -y openssl11 openssl11-devel
すでにopenssl11インストールされてた。
インストールしようとしたopenssl11-develは、openssl-develとコンフリクトしてると言われる。

すでにopenssl11 インストールされてるっぽい。一応確認。

yum info openssl11 openssl11-devel
openssl11はインストールされてる。openssl11-develはインストールされてない。

コンフリクトしてるopenssl-develをアンインストールしてからopenssl11-develをインストールしてみる。
openssl-develをアンインストール。

sudo yum remove -y openssl-devel
openssl-devel アンインストール

続いてopenssl11-develをインストール。

sudo yum install -y openssl11-devel
openssl11-devel インストール

再度、python 3.10.4インストールしてみると、インストールできたあああああああああああああああ。ただ、WARNINGが発生しています。

pyenv install 3.10.4
python 3.10.4 インストールできたけど、WARNING発生している。

WARNING発生しているので解消します。
bzip2、lzmaをインストールし、再度Pythonをインストールし直します。
まずbzip2、lzmaをインストール。

sudo yum install bzip2-devel xz-devel
「y」を入力し、インストールする。

bzip2、lzmaをインストールできたら、先ほどpyenvでインストールしたPython 3.10.4をアンインストールし、インストールし直します。

pyenv uninstall 3.10.4
「y」を入力し、アンインストールする。
pyenv install 3.10.4
無事Python 3.10.4をインストールできました

無事Python 3.10.4 をインストールできたら、pyenvで今インストールした3.10.4を使用するよう設定します。
まずは、使用できるPythonバージョンとして、3.10.4がいることを確認してみます。

pyenv versions
3.10.4 がいます。

※印がついているものが現在使用されているPythonバージョンになります。
※印が「system」となっているので、以下コマンドでインストールした3.10.4に切り替えます。

pyenv global 3.10.4
3.10.4に切り替わりました。

最後に、Pythonバージョンを確認してみます。

python --version
無事、python バージョン 3.10.4になりました

4.おまけ

Pythonインストールについて

今回Python3.10インストールで色々手こずりましたが、インストール時のエラーメッセージに「問題を解決するにはWikiを見て」と書いてあって、Wikiに、openssl-develの代替としてOpenSSL 1.1が必要な場合、openssl11-develのインストール、って記載がありましたね。


この記事が気に入ったらサポートをしてみませんか?