62
62

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【2020年版】AWSのEC2にPython3をインストールする方法

Posted at

先日、AWSのEC2にPython3をインストールする機会がありました。

その時に「AWS EC2 Python3」でGoogle検索したのですが、検索結果の上位に表示されたページの情報がいまいちでした。
具体的には、

  • pyenv
  • virtualenv

を使ってPython3の仮想環境を用意する方法が紹介されていましたが、 Python3の仮想環境を用意する方法は特別な事情がない限りはvenvを使うべきです。
また、Python3をアプリ開発やデータ分析でガッツリ使う場合を除いては、そもそも仮想環境を用意する必要はないと思います。

Python3の仮想環境を用意する方法としてvenvを使う理由は、Pythonの公式ドキュメントで推奨されている唯一の方法だからです。
pyenvを避けるべき理由はこの記事に詳しく書かれているので、興味のある方はこちらをご覧下さい。

また、AWSの公式ドキュメントではvirtualenvを使った方法が紹介されていますが、virtualenvvenvとしてPythonの中に正式に取り込まれたPython3.3以降においては積極的に使う理由はないと思います。

ということで、改めてAWSのEC2にPython3をインストール方法を紹介したいと思います。と言っても、Pythonの公式ドキュメントで紹介されている方法に従うだけですが…。

前提

  • OS
    • Amazon Linux 2 AMI
    • デフォルトではPython2系のみインストールされている
  • インスタンスタイプ
    • t2.micro

手順

  1. OSのシステムにPython3をインストール

    $ sudo yum update
    $ sudo yum install python3 -y
    

    Pythonを使う機会は限られており、Python本体やパッケージのバージョン管理が必要ない場合はこれで十分だと思います。
    一方、アプリ開発でそれ専用のバージョン管理をしたい場合や、データ分析で専用の環境を用意したい場合などは仮想環境の出番です。

  2. venvを使って仮想環境のPython3をインストール

    $ python3 -m venv myenv
    

    上記のコマンドをホームディレクトリで実行すると、ホームディレクトリ配下にmyenvというディレクトリが作成されます。myenvという名前は好きなように変更して構いません。

  3. Python3の仮想環境を有効化

    $ source myenv/bin/activate
    

    上記のコマンドを実行すると、Python3の仮想環境が有効化されます。

  4. Python3の仮想環境を無効化

    $ deactivate
    

    Python3の仮想環境を抜けたい場合は上記のコマンドを実行するだけです。また、環境をまるっと削除したい場合はmyenvディレクトリを削除すればOKです。

最後に

AWSのEC2にPython3をインストールする方法を紹介しましたが、少なくともLinux系のOSではそのまま当てはまる話しだと思います。
Pythonをほとんど使わない人はOSのシステムにインストールしたPython3を、Pythonをガッツリ使う人はvenvを使って作成したPython3の仮想環境を使うと覚えておいて下さい。

62
62
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
62
62

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?