【mac】pythonコマンドのデフォルトを2から3.xxに変更する

pexels-photo-303383.jpeg

macはデフォルトでpythonのバージョン2.7.16が入っています。公式インストーラーでバージョン3.9.7を入れたが、”python“を実行するとバージョン2.7.16が実行されます。

これを”python"のコマンドで、3.xxを実行できるように変更します。

環境

変更するmacの環境

  • 機種ID: MacBookPro13,1
  • プロセッサ名: デュアルコアIntel Core i5
  • システムのバージョン: macOS 11.5.2 (20G95)
  • シェル: zsh

インストールされているpython

  • python2
    バージョン: python 2.7.16
    PATH: /usr/bin/python
  • python3(公式インストーラーからインストール)
    バージョン: 3.9.7
    PATH: /usr/local/bin/python3

現状の問題

python“コマンドを実行するとpython2が実行されます。

python3を実行するには”python3“と入力する必要があります。

このデフォルトのコマンドで動くバージョンを3.xxに変更します。

設定

コマンドの仕組み

簡単に説明すると、ターミナルでコマンドを実行した時、$PATHを通してコマンドに相当するプログラムを探し、プログラムを実行する。(この$PATHはユーザごとに異なり、設定ファイルは使うシェルによって異なる。)

シンボリックリンクの追加

公式インストーラーからインストールしたpython3pip3といったプログラムは/Library/Frameworks/Python.framework/Versions/3.9/bin以下にインストールされ、環境変数$PATHが通っている/usr/local/bin以下に実行ファイルへのシボリックリンクが存在する。

python3コマンドを実行した場合、$PATHを通して、/usr/local/binにあるpython3を実行する。

ここで新たに/usr/local/bin/python3へのシンボリックリンク/usr/local/bin/pythonを作ることでpythonコマンドでpython3を呼び出すようにする。

pip3などpython3と同時にインストールされるコマンドのシンボリックリンクも作成しておく。

ln -nfs /usr/local/bin/idle3 /usr/local/bin/idle
ln -nfs /usr/local/bin/pydoc3 /usr/local/bin/pydoc
ln -nfs /usr/local/bin/python3 /usr/local/bin/python
ln -nfs /usr/local/bin/python3-config /usr/local/bin/python-config
ln -nfs /usr/local/bin/pip3 /usr/local/bin/pip

ターミナルを再起動して確認してみると

pythonコマンドでpython3が実行できました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA