蛇ノ目の記

技術のことも。そうでないことも。

Amazon Linux 2でPython3を有効にする

Discordのbotを動かす環境が欲しかったのでAWS EC2デビューを果たした。

設定もそこそこに、とりあえずインスタンスを立ててみた。

  • リージョン: 東京
  • AMI: amzn2-ami-hvm-2017.12.0.20171212.2-x86_64-gp2
  • インスタンスタイプ: t2.micro

無料枠を使って動かす。AMIはAmazon Linux 2を選んでみた。初AWS、初EC2なのでわからないことだらけで苦労している。

参考:

dev.classmethod.jp

Python3が動くとのことだけど、ログインした直後は動かなかった。調べてみると、 Amazon-Linux-Extras というライブラリにPython3が含まれていた。

$ amazon-linux-extras list
  0  ansible2   disabled  [ =2.4.2 ]
  1  emacs   disabled  [ =25.3 ]
  2  memcached1.5   disabled  [ =1.5.1 ]
  3  nginx1.12   disabled  [ =1.12.2 ]
  4  postgresql9.6   disabled  [ =9.6.6 ]
  5  python3   disabled  [ =3.6.2 ]
  6  redis4.0   disabled  [ =4.0.5 ]
  7  R3.4   disabled  [ =3.4.3 ]
  8  rust1   disabled  [ =1.22.1 ]
  9  vim   disabled  [ =8.0 ]
 10  golang1.9   disabled  [ =1.9.2 ]
 11  ruby2.4   disabled  [ =2.4.2 ]
 12  nano   disabled  [ =2.9.1 ]
 13  php7.2   disabled  [ =7.2.0 ]

なるほど、確かにある。

ヘルプを見てみる。

$ amazon-linux-extras -h
  help      See list of commands.
  info      See details of a specific package.
  install   Enables specified topics and installs their packages.
  list      Lists topics in the catalog. Some may be enabled.

Amazon Linux Extras software topics give you access to the most-recent
stable software you specifically choose, without the uncertainty of a
wholly new environment.

install を使えばよさそう。というわけで $sudo amazon-linux-extras install python3 でインストール。

$ sudo amazon-linux-extras install python3
  0  ansible2   disabled  [ =2.4.2 ]
  1  emacs   disabled  [ =25.3 ]
  2  memcached1.5   disabled  [ =1.5.1 ]
  3  nginx1.12   disabled  [ =1.12.2 ]
  4  postgresql9.6   disabled  [ =9.6.6 ]
  5  python3=latest  enabled  [ =3.6.2 ]
  6  redis4.0   disabled  [ =4.0.5 ]
  7  R3.4   disabled  [ =3.4.3 ]
  8  rust1   disabled  [ =1.22.1 ]
  9  vim   disabled  [ =8.0 ]
 10  golang1.9   disabled  [ =1.9.2 ]
 11  ruby2.4   disabled  [ =2.4.2 ]
 12  nano   disabled  [ =2.9.1 ]
 13  php7.2   disabled  [ =7.2.0 ]
$ python3 -V
Python 3.6.2

やったぜ。

あとは git を入れて、 GitLabのプライベートリポジトリをクローンしてくれば動かせる、はず。