Mac
 Computer >> コンピューター >  >> システム >> Mac

MacにPython 3をインストールする方法 – Homebrewとpyenvを使った完全チュートリアル

macOSには標準でPythonがプリインストールされています。しかし、そのバージョンはPython 2.7であり、現在では非推奨(開発者コミュニティによるサポート終了)となっています。

Pythonコミュニティ全体がすでにPython 3.xへ移行しており、執筆時点での最新バージョンは3.9です。将来的にはPython 4.xも登場予定ですが、後方互換性は完全に維持される見込みです。

macOSのターミナルからPythonを実行しようとすると、次のような警告が表示されます。

MacにPython 3をインストールする方法 – Homebrewとpyenvを使った完全チュートリアル
警告:Python 2.7は推奨されません。このバージョンはレガシーソフトウェアとの互換性のためmacOSに含まれています。将来のmacOSバージョンではPython 2.7は含まれなくなります。代わりにターミナルから「python3」を使用することをおすすめします。

AppleがPython 3.xをデフォルトに設定するまでの間、自分でインストールする必要があります。

1つのコマンドでPython 3を実行する

読者の中には、これだけで十分な方もいるかもしれません。以下のコマンド(末尾に「3」が付く点に注意)でPython 3を実行できます。

python3

目的がそれだけなら問題ありません。楽しいコーディングライフを!

しかし、複数のバージョンを管理できる本格的なPythonバージョン管理システムを導入し、使用するバージョンを細かく制御したい方は、このチュートリアルでその方法を詳しく解説します。

MacにPython 3をインストールする方法 – Homebrewとpyenvを使った完全チュートリアル
ちなみに、なぜ「Python 3.x」と表記しているのか疑問に思った方へ。「x」はサブバージョン(開発者はポイントリリースと呼びます)のプレースホルダーです。つまりPython 3系の任意のバージョンを指します。

MacへのHomebrewのインストール方法

まず、Mac用の強力なパッケージマネージャーであるHomebrewをインストールします。

ターミナルを開きましょう。macOSのSpotlight検索(command + スペース)で「terminal」と入力すれば起動できます。

コマンドラインが開いたら、以下のコマンドを実行してHomebrewの最新版をインストールします。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

ターミナルがスーパーユーザー権限を求めてきます。パスワードの入力が必要です。これはMacにログインするときと同じパスワードです。入力してEnterキーを押してください。

MacにPython 3をインストールする方法 – Homebrewとpyenvを使った完全チュートリアル
筆者のカスタマイズ済みターミナルのスクリーンショット。あなたのターミナルはおそらく見た目が異なります。

続いて、Homebrewがインストール内容の確認を求めてきます。Enterキーを押せば処理が続行されます。(気が変わった場合は別のキーを押せば中止できます。)

MacにPython 3をインストールする方法 – Homebrewとpyenvを使った完全チュートリアル

pyenvをインストールしてPythonのバージョンを管理する方法

次に、PyEnvをインストールしましょう。このライブラリを使うと、Pythonの異なるバージョンを簡単に切り替えられます(何らかの理由でPython 2.xが必要になった場合や、将来のPython 4.0の登場に備えるためにも便利です)。

以下のコマンドを実行します。

brew install pyenv
MacにPython 3をインストールする方法 – Homebrewとpyenvを使った完全チュートリアル
PyEnvのインストール中

これで最新版のPythonをインストールできるようになりました。

pyenvでPythonをインストール・アップデートする方法

あとは以下のコマンドを実行するだけです。

pyenv install 3.9.2 

「3.9.2」は、その時点でのPython最新バージョンに置き換えてください。例えば、Python 4.0.0がリリースされたら、次のように実行できます。

pyenv install 4.0.0

pyenvインストール時のトラブルシューティング

「C compiler cannot create executables」というエラーが発生した場合、最も簡単な解決策はAppleのXcodeを再インストールすることです。

XcodeはAppleが提供するツールで、PythonがmacOS上で動作する際に必要となるC言語ライブラリなどの各種ツールが含まれています。Xcodeは11GBものサイズがありますが、常に最新の状態に保つことをおすすめします。時間がかかるので、寝ている間に実行しておくのも良いでしょう。

AppleのXcode最新版は公式サイトからダウンロードできます。筆者もmacOS Big Surにアップグレードした後にこの作業が必要でしたが、実行後は以降のコマンドがすべて正常に動作しました。もう一度pyenv install 3.9.2を実行すれば、今度は成功するはずです。

pyenv用にmacOSのPATHを設定する方法(BashまたはZSH)

まず、UnixのPATHを更新して、PyEnvがシステムと連携できるようにします。

PATHがmacOS(およびUnix)でどのように機能するかについては、pyenvのGitHubリポジトリからの説明が非常にわかりやすいので引用します。

pythonpipのようなコマンドを実行すると、オペレーティングシステムはディレクトリのリストを検索し、その名前の実行ファイルを探します。このディレクトリのリストはPATHという環境変数に格納されており、各ディレクトリはコロンで区切られています。
/usr/local/bin:/usr/bin:/bin
PATH内のディレクトリは左から右へ順に検索されるため、リストの先頭にあるディレクトリ内の実行ファイルが末尾のものより優先されます。この例では、まず/usr/local/bin、次に/usr/bin、そして/binの順に検索されます。

さらに、「Shim(シム)」とは何かについても彼らの説明を引用します。筆者自身ではこれ以上うまく説明できないためです。

pyenvは、shimsのディレクトリをPATHの先頭に挿入することで動作します。
$(pyenv root)/shims:/usr/local/bin:/usr/bin:/bin
rehashing(再ハッシュ)と呼ばれるプロセスを通じて、pyenvはそのディレクトリ内のshimsを、インストール済みの全PythonバージョンにわたるすべてのPythonコマンド(pythonpipなど)と一致するよう維持します。
Shimsは、コマンドを単純にpyenvへ渡す軽量な実行ファイルです。

Bash(macOSにデフォルトでインストールされているシェル)の場合は、.bash_profileを以下のように更新します。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile

続けて以下を実行します。

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

注意: pyenv_rootフォルダ内に/binディレクトリが存在しない場合(/shimsディレクトリのみの場合)、代わりにこちらのコマンドを実行してください。

`echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.bash_profile`

次に、PyEnv Initをターミナルに追加します。Bashを使用している場合(繰り返しますが、これがmacOSのデフォルトです)は、以下のコマンドを実行します。

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

最後に、以下のコマンドでターミナルをリセットします。

reset

ZSHまたはOhMyZSHでpyenv用のPATHを設定する方法

MacのデフォルトであるBashではなく、筆者のようにZSH(またはOhMyZSH)を使用している場合は、代わりに.zshrcファイルを編集します。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

続けて以下を実行します。

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init --path)"\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc

Pythonのバージョンをグローバルデフォルトに設定する方法(Bash・ZSH共通)

最新版のPythonをグローバルに設定できます。そうすると、Pythonアプリケーションを実行したときにmacOSが使用するデフォルトバージョンになります。

以下のコマンドを実行します。

pyenv global 3.9.2

ここでも「3.9.2」は最新バージョンに置き換えてください。

設定が反映されたかどうかは、Pythonのグローバルバージョンを確認すればわかります。

pyenv versions

次のような出力が表示されるはずです。

MacにPython 3をインストールする方法 – Homebrewとpyenvを使った完全チュートリアル
アスタリスク(*)が付いているバージョンが、現在のグローバルデフォルトです。

最後のステップ:ターミナルを閉じて再起動する

ターミナルを再起動したら、pythonコマンドを実行してみてください。古いバージョンではなく、新しくインストールしたPythonが起動します。

MacにPython 3をインストールする方法 – Homebrewとpyenvを使った完全チュートリアル
やりました!Python 3.9.2が起動し、非推奨の警告も表示されません。

おめでとうございます。最後までお読みいただきありがとうございました。快適なコーディングライフを!

  1. MacにWindows 7をインストールする方法|Boot Campと仮想マシンの違いを徹底解説

    MacBookにWindows 7を導入する2つの方法 MacBookにWindowsをインストールする方法は、大きく分けて2つあります。1つは「Boot Camp」を使ってmacOSと共存させ、起動時にどちらかを選ぶデュアルブート方式。もう1つは「Parallels Desktop」「VMware Fusion」「VirtualBox」などの仮想化ソフトウェアを使い、macOS上のウィンドウでWindowsを動かす仮想マシン方式です。ただし、Boot CampでWindows 7をインストールできるのは、2014年頃までに発売された旧世代のMacのみです。比較的新しいMacBookにWind

  2. ターミナルから macOS と Mac アプリをアップデートする方法【コマンド完全解説】

    macOS 本体やインストール済みのアプリのアップデートは、定期的に配信されます。システムソフトウェアとアプリを常に最新の状態に保つことは、システムの安定性を維持し、バグやセキュリティ上の問題を防ぐために非常に重要です。 Mac で OS やアプリをアップデートする方法はいくつかあります。最も一般的なのは、Mac に標準搭載されている App Store を使う従来の方法です。 しかし、アップデートのインストールは App Store だけに限定されません。実は「ターミナル」アプリを使っても、アップデートの検索・ダウンロード・インストールが可能です。さらに、アップデートの適用方法を細かく制御