- 環境 : Cloud9
- 同僚がEC2を利用したCloud9を使っていたので、私も使ってみたくてそのCloud9にアカウントを作ってもらって早速使い始めた。
事象 : Pythonのバージョンが古かった
# Pythonが3じゃない!
$ python --version
Python 2.7.18
# pipは・・・なぜかPython3.6のもの?
$ pip --version
pip 20.2.4 from /home/ec2-user/.local/lib/python3.6/site-packages/pip (python 3.6)
# Python3はあるようだ・・・
$ python3 --version
Python 3.6.12
Cloud9のPythonを3にすればよいのか?と思ったらもうなっている・・・
# 「+」がPython3にくっついている・・・けどとりあえず選択してみる
$ sudo update-alternatives --config python
There are 3 programs which provide 'python'.
Selection Command
-----------------------------------------------
* 1 /usr/bin/python2.7
+ 2 /usr/bin/python3.6
3 /usr/bin/python2.6
Enter to keep the current selection[+], or type selection number: 2
# Python3にならない・・・
$ python -V
Python 2.7.18
原因 : .bashrc
で古いバージョンを指定しているから
# 自分のアカウントのPythonが2になっている・・・
$ alias | grep python
alias python='python27'
# aliasでPython2.7が設定されている・・・
$ cat ~/.bashrc | grep python
alias python=python27
対応 : .bashrc
で指定するPythonのバージョンを変える
# .bashrcじゃなくても読込順序が後のファイルならOK
$ ls -la
# ...省略...
-rw-r--r-- 1 ec2-user ec2-user 336 Jul 24 2019 .bash_profile
-rw-r--r-- 1 ec2-user ec2-user 1401 Nov 20 06:48 .bashrc
-rw-rw-r-- 1 ec2-user ec2-user 118 Jul 24 2019 .zshrc
# viで開いてaliasでPython3.6を指定して
$ vi ~/.bashrc
$ cat ~/.bashrc | grep python
alias python=python36
# 反映すると
$ source ~/.bashrc
function
# Python3.6になった・・・
$ python --version
Python 3.6.12