未分類

AWS Cloud9 デフォルトのpythonをpython3に変更する

AWS Cloud9のアカウントをまだ作成していない方は先にこちらの記事で作成しておいてください。

IDEを開くと、下部にコンソールが表示されています。
ec2-user:~/environment $
となっているところですね。

まずはデフォルトのPythonのバージョンを表示してみましょう。
コンソールで以下のように入力してEnterを押してください。

ec2-user:~/environment $ python -V

バージョンは2.7.14のようですね。

では、Python3のバージョンも見てみましょう。

ec2-user:~/environment $ python3 -V

Python3のバージョンは3.6.5ですね。

次に、Python、Python3それぞれの場所を確認しましょう。whichコマンドは実行コマンドのフルパスを表示します。

ec2-user:~/environment $ which python

Pythonの場所は「/usr/bin/python27」となっていますね。
また、エイリアスも設定されているのが分かります。エイリアスとは別名で登録している、ということです。つまり、python本体は「python27」というコマンドが正しいコマンド名なのですが、「python」と書いても「python27」が実行されるようになる、ということです。
試しに下記コマンドを実行してみてください。先ほどと同様に2.7.14と表示されたかと思います。

ec2-user:~/environment $ python27 -V

次にpython3の場所を確認しましょう。

ec2-user:~/environment $ which python3

Python3の場所は「/usr/bin/python3」となっていますね。

さて、では標題の通り、「デフォルトのpythonをpython3に変更」しましょう。今はpythonを実行すると、上記の通りエイリアスが働き、python27が実行されます。

ということで、エイリアスを書き換えることにしましょう。コンソールに下記入力して、エイリアスが設定されているコマンドを全て表示してみましょう。

ec2-user:~/environment $ alias

pythonは’python27'となっていますね。このエイリアスの設定は、「~./bashrc」にあります。このファイルを編集します。

ec2-user:~/environment $ cd
ec2-user:~ $ vi .bashrc

以下のように「~/.bashrc」ファイルが表示されます。

# .bashrc

export PATH=$PATH:$HOME/.local/bin:$HOME/bin

# load nvm
export NVM_DIR="$HOME/.nvm"
[ "$BASH_VERSION" ] && npm() {
    # hack: avoid slow npm sanity check in nvm
    if [ "$*" == "config get prefix" ]; then which node | sed "s/bin\/node//";
    else $(which npm) "$@"; fi
}
# [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
rvm_silence_path_mismatch_check_flag=1 # prevent rvm complaints that nvm is first in PATH
unset npm # end hack


# User specific aliases and functions
alias python=python27

# modifications needed only in interactive mode
if [ "$PS1" != "" ]; then
    # Set default editor for git
    git config --global core.editor /usr/bin/nano

    # Turn on checkwinsize
    shopt -s checkwinsize

    # keep more history
    shopt -s histappend
    export HISTSIZE=100000
    export HISTFILESIZE=100000
    export PROMPT_COMMAND="history -a;"

    # Source for Git PS1 function
    if ! type -t __git_ps1 && [ -e "/usr/share/git-core/contrib/completion/git-prompt.sh" ]; then
        . /usr/share/git-core/contrib/completion/git-prompt.sh
    fi

    # Cloud9 default prompt
    _cloud9_prompt_user() {
        if [ "$C9_USER" = root ]; then
            echo "$USER"
        else
            echo "$C9_USER"
        fi
    }

下記部分がエイリアスの設定ですので、この行をコメントアウトします。

alias python=python27

↓このように修正

# alias python=python27
alias python=python36

「ESC」キーでコマンドモードに遷移、「:wq」で保存して終了。
下記コマンドで、修正した内容を反映します。

ec2-user:~ $ source .bashrc

エイリアスが変わったかを確認してみましょう。

ec2-user:~/environment $ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias python='python36'
alias rvm-restart='rvm_reload_flag=1 source '\''/usr/local/rvm/scripts/rvm'\'''
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

python36になっていますね。
では、pythonのバージョンを表示してみましょう。

ec2-user:~/environment $ python -V
Python 3.6.5

3.6.5になりましたね。

もう1つ設定をしておきましょう。左上にある「AWS Cloud9」をクリックし、「Preferences」をクリックしてください。

すると、下記Project Settingsが表示されます。下にスクロールすると「Python Support」があり、「Python Version:」を選択出来ますので、Python3を選択しましょう。

最後にもう1つです。以下をコマンドで打つと、pythonに関連付けられたプログラムが2つあることが分かります。今は
「1 /usr/bin/python2.7」が選択されているので、
「2 /usr/bin/python3.6」を選択しましょう。

ec2-user:~/environment $ sudo update-alternatives --config python

以上でPython3で実行されるようになりました。

ついでに、pip3もやっておきましょう。

ec2-user:~/environment $ sudo ln -s /usr/bin/pip-3.6 /usr/bin/pip3

-未分類

© 2024 プログラマの雑記帳 Powered by AFFINGER5