S_Pure's Blog

ITエンジニアの趣味ブログ

Pythonバージョンの変更方法について

2020年06月13日

はじめに

今回は、RaspberryPiのPythonバージョンを変更する機会があったので、記事にまとめてみました。
コマンドのリンク設定についての記事ですので、Pythonコマンド以外のコマンドでも利用できる知識だと思います。

RaspberryPiの情報

今回利用するRaspberryPiの情報は以下の通りです。

デバイスの情報
pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

現在のPythonコマンドの状況

Pythonコマンドのバージョン
pi@raspberrypi:/usr/bin $ python -V
Python 2.7.16

ちなみに、Python3も既に入っています。

Python3コマンドのバージョン
pi@raspberrypi:~ $ python3 -V
Python 3.7.3

リンクの修正

コマンドを実行した時に、どの実行ファイルを利用するかを、設定しなおします。

リンク先の確認

下記のコマンドでPythonコマンドのリンク先を確認します。

リンク先の確認
cd /usr/bin
ls -l py*

確認結果は下記のようになります。
lrwxrwxrwx 1 root root 7 3月 5 2019 python -> python2
PythonのシンボリックがPython2になっている事が確認できます。

確認結果
    ・
    ・
    ・
lrwxrwxrwx 1 root root       7  3月  5  2019 python -> python2
lrwxrwxrwx 1 root root      14  3月  5  2019 python-config -> python2-config
lrwxrwxrwx 1 root root       9  3月  5  2019 python2 -> python2.7
lrwxrwxrwx 1 root root      16  3月  5  2019 python2-config -> python2.7-config
-rwxr-xr-x 1 root root     154 12月 30  2018 python2-pbr
-rwxr-xr-x 1 root root 2984816  4月  6  2019 python2.7
lrwxrwxrwx 1 root root      36  4月  6  2019 python2.7-config -> arm-linux-gnueabihf-python2.7-config
lrwxrwxrwx 1 root root       9  3月 26  2019 python3 -> python3.7
lrwxrwxrwx 1 root root      16  3月 26  2019 python3-config -> python3.7-config
-rwxr-xr-x 2 root root 4275580  4月  3  2019 python3.7
lrwxrwxrwx 1 root root      36  4月  3  2019 python3.7-config -> arm-linux-gnueabihf-python3.7-config
-rwxr-xr-x 2 root root 4275580  4月  3  2019 python3.7m
lrwxrwxrwx 1 root root      37  4月  3  2019 python3.7m-config -> arm-linux-gnueabihf-python3.7m-config
lrwxrwxrwx 1 root root      10  3月 26  2019 python3m -> python3.7m
lrwxrwxrwx 1 root root      17  3月 26  2019 python3m-config -> python3.7m-config
lrwxrwxrwx 1 root root      10  3月 26  2019 pyvenv -> pyvenv-3.7
-rwxr-xr-x 1 root root     436  4月  3  2019 pyvenv-3.7
    ・
    ・
    ・

リンクを削除する

下記のコマンドでリンクを削除します。

リンクの削除
sudo unlink python

リンクが削除されているため、現段階でpythonコマンドを実行しても、何も実行されません。

リンクを再生成する

下記のコマンドでPython3へのシンボリックリンクを作成する。

シンボリックリンクの作成
sudo ln -s python3 python

設定の確認

下記コマンドを実行して設定を確認します。

設定の確認
cd /usr/bin
/usr/bin $ ls -l py*
確認結果
    ・
    ・
    ・
lrwxrwxrwx 1 root root       7  6月  8 23:36 python -> python3
lrwxrwxrwx 1 root root      14  3月  5  2019 python-config -> python2-config
lrwxrwxrwx 1 root root       9  3月  5  2019 python2 -> python2.7
lrwxrwxrwx 1 root root      16  3月  5  2019 python2-config -> python2.7-config
-rwxr-xr-x 1 root root     154 12月 30  2018 python2-pbr
-rwxr-xr-x 1 root root 2984816  4月  6  2019 python2.7
lrwxrwxrwx 1 root root      36  4月  6  2019 python2.7-config -> arm-linux-gnueabihf-python2.7-config
lrwxrwxrwx 1 root root       9  3月 26  2019 python3 -> python3.7
lrwxrwxrwx 1 root root      16  3月 26  2019 python3-config -> python3.7-config
-rwxr-xr-x 2 root root 4275580  4月  3  2019 python3.7
lrwxrwxrwx 1 root root      36  4月  3  2019 python3.7-config -> arm-linux-gnueabihf-python3.7-config
-rwxr-xr-x 2 root root 4275580  4月  3  2019 python3.7m
lrwxrwxrwx 1 root root      37  4月  3  2019 python3.7m-config -> arm-linux-gnueabihf-python3.7m-config
lrwxrwxrwx 1 root root      10  3月 26  2019 python3m -> python3.7m
lrwxrwxrwx 1 root root      17  3月 26  2019 python3m-config -> python3.7m-config
lrwxrwxrwx 1 root root      10  3月 26  2019 pyvenv -> pyvenv-3.7
-rwxr-xr-x 1 root root     436  4月  3  2019 pyvenv-3.7
    ・
    ・
    ・

上記の一覧に、lrwxrwxrwx 1 root root 7 6月 8 23:36 python -> python3と表示されているので、設定されていることがわかります。

ついでにバージョン情報も確認しておきましょう

python -V

確認結果
pi@raspberrypi:/usr/bin $ python -V
Python 3.7.3

まとめ

今回は、Pythonコマンドのリンクを変更し、pythonコマンドで起動するPythonのバージョンを変更しました。
この方法を利用する事で、別のコマンドのバージョンを変更する際にも、活かせると思います。

ターミナル等の知識を身に付けて、linuxと仲良くなれるように頑張っていきたいと思います。


Written by Ryota Saito
関西出身 1993年生まれ
正社員プログラマとして勤務しながら様々な技術について勉強中
気になった技術情報を中心に発信しています。
like Guitar🎸 RADWIMPS🎧 Apple🍎
立命理工卒 好奇心旺盛

Twitterのフォローよろしくお願いします。

© 2020 Ryota Saito All Rights Reserved.