32
35

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.

Python3.6 インストール on Amazon Linux AMI

Last updated at Posted at 2019-04-02

2020年1月追記

Amazon Linux、サポート期限アナウンス出てます。
https://aws.amazon.com/jp/amazon-linux-ami/faqs/
この記事、訪問者が非常に多くてとてもありがたいのですが、Amazon Linux2への移行もちゃんと検討して欲しいにゃん!

前提

Amazon Linux上にPython 3.6環境を作る際、ちょっと沼に沈みかけたので、メモメモ。

利用したサービス

Amazon Linuxです。Amazon Linux2ではない。
知識として、ざっくり以下のポイントを押さえておけばOK

  • Amazon Linux系は「RHEL」系に所属
  • Amazon Linux は、CentOS 6 相当
  • Amazon Linux 2 は、CentOS 7相当

で、実績を重視したり、安定性を求めたりするジャパニーズなお客様はCentOS6が大好きだったりするので、必然的に無印Amazon Linuxになったりするわけですにゃ~ん。

何が問題か?

Amazon Linuxを稼働させるためにPythonが標準でインストールされていますが、2.x系です。

さらにPython2を無理やり引っこ抜くとOSが不安定になるというお墨付きデス。

解決方法

以下の手法で、Python3を追加インストールします。

  1. Amazon Linux の初期Pythonバージョンを確認。
[admin@ip-hogehoge ~]$ python -V
Python 2.7.15
[admin@ip-hogehoge ~]$

2.インストール可能なPython 3.6ファイルを確認。

[admin@ip-hogehoge ~]$ yum list | grep python36
mod24_wsgi-python36.x86_64            3.5-1.25.amzn1                amzn-updates
python36.i686                         3.6.7-1.10.amzn1              amzn-updates
python36.x86_64                       3.6.7-1.10.amzn1              amzn-updates
python36-bcc.x86_64                   0.6.0-5.2.amzn1               amzn-updates
python36-debug.i686                   3.6.7-1.10.amzn1              amzn-updates
python36-debug.x86_64                 3.6.7-1.10.amzn1              amzn-updates
python36-devel.i686                   3.6.7-1.10.amzn1              amzn-updates
python36-devel.x86_64                 3.6.7-1.10.amzn1              amzn-updates
python36-libs.i686                    3.6.7-1.10.amzn1              amzn-updates
python36-libs.x86_64                  3.6.7-1.10.amzn1              amzn-updates
python36-lit.noarch                   0.5.1-1.0.amzn1               amzn-updates
python36-pip.noarch                   9.0.3-1.26.amzn1              amzn-updates
python36-setuptools.noarch            36.2.7-1.33.amzn1             amzn-main
python36-test.i686                    3.6.7-1.10.amzn1              amzn-updates
python36-test.x86_64                  3.6.7-1.10.amzn1              amzn-updates
python36-tools.i686                   3.6.7-1.10.amzn1              amzn-updates
python36-tools.x86_64                 3.6.7-1.10.amzn1              amzn-updates
python36-virtualenv.noarch            15.1.0-1.14.amzn1             amzn-main
[admin@ip-hogehoge ~]$

3.Python 3.6 インストール。

sudo yum -y install python36-devel python36-libs python36-setuptools 

4.Python 2.xと、Python3.xが共存する事を確認。

[admin@ip-hogehoge ~]$ python -V
Python 2.7.15
[admin@ip-hogehoge ~]$ python3 -V
Python 3.6.7
[admin@ip-hogehoge ~]$

5.PipをPython3対応の為にアップグレード

[admin@ip-hogehoge ~]$ sudo python3 -m ensurepip --upgrade
Looking in links: /tmp/tmpwcevtsc7
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
  Found existing installation: setuptools 36.2.7
    Uninstalling setuptools-36.2.7:
      Successfully uninstalled setuptools-36.2.7
  Found existing installation: pip 9.0.3
    Uninstalling pip-9.0.3:
      Successfully uninstalled pip-9.0.3
Successfully installed pip-10.0.1 setuptools-39.0.1
[admin@ip-hogehoge ~]$

実はこれだけでは足りないので、追加で以下のコマンドを実行。

[admin@ip-hogehoge ~]$ pip3 --version
pip 10.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
[admin@ip-hogehoge ~]$
[admin@ip-hogehoge ~]$ sudo python3 -m pip install --upgrade pip
(中略)
[admin@ip-hogehoge ~]$
[admin@ip-hogehoge ~]$ pip3 --version
Pip 19.0.2 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
[admin@ip-hogehoge ~]$

6.pipのバージョンが、19.0.2以上になれば、Python3に対応しています。

#使い分け

  • Python2を使いたいとき
python hogehoge
pip hogehoge
  • Python3を使いたいとき
python3 hogehoge
pip3 hogehoge

以上。

32
35
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
32
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?