Help us understand the problem. What is going on with this article?

[バッドノウハウ]webプログラミング初学者がAWS Cloud9でPython3を使う

More than 1 year has passed since last update.

この記事は、AWS cloud9上で'python'コマンドでpython3を動かそうとした記録です。
結果的には'python3'のまま運用することにしましたのでこの手順は不要になりました。

この記事を書こうと思ったきっかけ

ローカルに環境を用意しなくても開発が始められるという統合開発環境(IDE)Cloud9を始めてみようと思いましたが、ネットで調べてもAWS版のcloud9がリリースされる前の情報が多く、いろいろと戸惑ったこともありましたので記事を書くことにしました。

これまでのあらすじ

Cloud9のenvironmentを立ち上げるところまでできました。
webプログラミング初学者がAWS Cloud9を使い始める

なぜPython3なのか。

やっぱり3>2でしょ。
大きいことは正義だ。新しいことは正義だ。

Python3を使う

参考にさせていただきました。
Cloud9でpython3を動かす時にやっておきたいこと

Preferencesパネルを開く

下のいずれかの方法でPreferenceを開く。

  • 画面左上「AWS Cloud9」メニューから「Preferences」
  • 画面右上の歯車アイコンクリック
  • ショートカットキー[Ctrl]+[,]

「PROJECT SETTINGS」→「Python Support」「Python Version」を"Python 3"に切り替えます。
スクリーンショット 2018-01-18 22.05.32.png

pythonのバージョンを確認してみる

ec2-user:~/environment $ python --version
Python 2.7.12
ec2-user:~/environment $ readlink -f /usr/bin/python
/usr/bin/python2.7
ec2-user:~/environment $ pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

リンクを張り替える方法はダメ。

参考にしたサイトにならい、下記の方法でリンクを張り替えてみたけど失敗。

ec2-user:~/environment $ sudo mv /usr/bin/python /usr/bin/python2
ec2-user:~/environment $ sudo ln -s /usr/bin/python3 /usr/bin/python
ec2-user:~/environment $ python --version
Python 2.7.12

.bashrcのaliasが原因?

ec2-user:~/environment $ cat ~/.bashrc
# .bashrc

(略)

# User specific aliases and functions
alias python=python27

viで下記に書き換える。

alias python=python36

.bashrcを再読込してpythonのバージョンを確認

ec2-user:~/environment $ source ~/.bashrc
function
ec2-user:~/environment $ python --version
Python 3.6.2

無事Python3が読み込まれました。
念のためpipのバージョンも確認

ec2-user:~/environment $ python -m pip -V
pip 9.0.1 from /usr/lib/python3.6/dist-packages (python 3.6)

ネットにあった情報と違っていて戸惑った点まとめ

  • python3をデフォルトにするにはリンク書き換えではなく.bashrcのaliasを書き換える。
h008
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away