python3 のインストール

# python で画像処理をしてみたい！
とりあえず、インストール。
EC2 のCentOS7系にはpython2系が入っていたので、3系を追加しました。

# yumでインストール

rpm をインストール

```
$ sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
```

python3* で見ると、36が最新のため36でインストール

```
$ yum search python3*
```

インストール

```
$ sudo yum install python36u python36u-libs python36u-devel python36u-pip
```

バージョン確認

```
$ python -V
Python 2.7.14
$ python3.6 -V
Python 3.6.8
```

# シンボリック・リンクの追加・削除

python コマンドで、3系が動くようにしたい！
まず、現在の状態確認

```
$ ls -la /usr/bin/python*
lrwxrwxrwx 1 root root     7  3月  9 04:59 /usr/bin/python -> python2
lrwxrwxrwx 1 root root    14  3月  9 04:59 /usr/bin/python-config -> python2-config
lrwxrwxrwx 1 root root     9  3月  9 04:59 /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 root root    16  3月  9 04:59 /usr/bin/python2-config -> python2.7-config
-rwxr-xr-x 1 root root  7048  7月 27  2018 /usr/bin/python2.7
-rwxr-xr-x 1 root root  1846  7月 27  2018 /usr/bin/python2.7-config
-rwxr-xr-x 2 root root 11384  5月  3 05:43 /usr/bin/python3.6
lrwxrwxrwx 1 root root    26  6月 24 22:27 /usr/bin/python3.6-config -> /usr/bin/python3.6m-config
-rwxr-xr-x 2 root root 11384  5月  3 05:43 /usr/bin/python3.6m
-rwxr-xr-x 1 root root   173  5月  3 05:42 /usr/bin/python3.6m-config
-rwxr-xr-x 1 root root  3435  5月  3 05:40 /usr/bin/python3.6m-x86_64-config
```

[/usr/bin/python -> python2] を3.6に変更する必要がある
シンボリックの削除

```
$ sudo unlink /usr/bin/python
```

シンボリックの追加

```
$ sudo ln -s /usr/bin/python3.6 python
```

もう一度確認
[python -> /usr/bin/python3.6]に変わっている事を確認

```
lrwxrwxrwx 1 root root    18  6月 26 11:23 python -> /usr/bin/python3.6
lrwxrwxrwx 1 root root    14  3月  9 04:59 python-config -> python2-config
lrwxrwxrwx 1 root root     9  3月  9 04:59 python2 -> python2.7
lrwxrwxrwx 1 root root    16  3月  9 04:59 python2-config -> python2.7-config
-rwxr-xr-x 1 root root  7048  7月 27  2018 python2.7
-rwxr-xr-x 1 root root  1846  7月 27  2018 python2.7-config
-rwxr-xr-x 2 root root 11384  5月  3 05:43 python3.6
lrwxrwxrwx 1 root root    26  6月 24 22:27 python3.6-config -> /usr/bin/python3.6m-config
-rwxr-xr-x 2 root root 11384  5月  3 05:43 python3.6m
-rwxr-xr-x 1 root root   173  5月  3 05:42 python3.6m-config
-rwxr-xr-x 1 root root  3435  5月  3 05:40 python3.6m-x86_64-config
```

バージョンの確認

```
$ python -V
Python 3.6.8
```

# 最後に
いろんなサイト参考にさせて頂いたのですが、最後のシンボリックリンクというのを初めてやってドキドキでした。いろんなサイト経由したのですが、ディレクトリが一致せず!!

結果、[こちら](https://qiita.com/colorrabbit/items/2e99304bd92201261c60)を参考にシンボリックリンクの設定をしました。感謝。

LPIC勉強すべきかも。

---
# 追記

シンボリックを変更したところ```yum```が動かなくなった。
[こちら](https://note.mu/hayashin10/n/n4f53d2a154bd)と[こちら](https://www.logw.jp/cloudserver/8702.html)を参考に修正。

[/usr/bin/yum]ファイルの1行目を編集
[#!/usr/bin/python] → [#!/usr/bin/python2.7] へ変更

```
$ sudo vi /usr/bin/yum
#!/usr/bin/python2.7
import sys
try:
    import yum
except ImportError:
    print >> sys.stderr, """\
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   %s

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
%s

If you cannot solve this problem yourself, please go to 
the yum faq at:
  http://yum.baseurl.org/wiki/Faq
  
""" % (sys.exc_value, sys.version)
    sys.exit(1)

sys.path.insert(0, '/usr/share/yum-cli')
try:
    import yummain
    yummain.user_main(sys.argv[1:], exit_code=True)
except KeyboardInterrupt, e:
    print >> sys.stderr, "\n\nExiting on user cancel."
    sys.exit(1)
```

[/usr/libexec/urlgrabber-ext-down] の1行目
[#! /usr/bin/python] → [#! /usr/bin/python2.7] へ変更

```
$ sudo vi /usr/libexec/urlgrabber-ext-down
#! /usr/bin/python2.7
```

一旦大丈夫かと思いきやダメで、再修正しました。
以上となります。