Masayan tech blog.

  1. ブログ記事一覧>
  2. Homebrewを理解して使うことにした【macOS(OS X)でPython3をインストールする】

Homebrewを理解して使うことにした【macOS(OS X)でPython3をインストールする】

公開日

環境

  • macOS Monterey 12.0.1
  • Python 3.10
  • VSCode

インストール手順

大前提として

  • macOSであること
  • homebrewがインストールされていること(まだの方は以下からおねがいします)
  • macOS(OS X(オーエステン))用のパッケージ管理システム
  • ちなみに、homebrewはビールの自家醸造という意味らしいです
  • homebrewは主にrubyで作られている
  • macOS(OS X(オーエステン))だと、python2.系が最初からインストールされている
  • セマンティック バージョニングにおける、パッチバージョン管理はhomebrewではできないので、パッチバージョンを管理したい場合は、pyenv等を使用してpythonをインストールする必要がある
    • セマンティック バージョニングの概要については以下の通り
      • 例えば、python3.10.4であれば、メジャーバージョンが3、マイナーバージョンが10、パッチバージョンが4となる
      • APIの変更に互換性のない場合は メジャーバージョン
      • 後方互換性があり機能性を追加した場合は マイナーバージョン
      • 後方互換性を伴うバグ修正をした場合は パッチバージョン

インストールするまで

macでは、homebrewを使用してかんたんにpythonをインストールすることが可能

  • brew経由でインストールできるpythonのバージョン一覧を確認
  • 本記事執筆時点(2022年7月)では、3.7〜3.10のpythonがインストールできることがわかる
brew search python

python@3.7python@3.8python@3.9python@3.10
  • 基本的にはこの中からバージョンを指定して以下のように実行すればインストールできる
brew install python@3.10
  • バージョンを指定せず、単に以下のようにinstallした際は、Homebrewのフォーミュラ(パッケージ)が指定するバージョンがインストールされる
  • 本記事執筆時点(2022年7月)では、python@3.9がインストールされる
brew install python
  • Homebrewのフォーミュラが指すバージョンを確認するには以下のコマンドを実行すればよい
  • フォーミュラ名は今回であれば、「python」となる
brew info <フォーミュラ名>// python@3.9: stable 3.9.13 (bottled)

インストールしてから

  • homebrewでインストールすると、/usr/local/binに、python3のシンボリックリンクが貼られる
  • シンボリックリンクの向き先(brew installのインストール先)は、/usr/local/Cellar(Homebrewリポジトリ)であり、例えば複数バージョンのpythonをbrewでインストールすると、以下のように増えていくことになる
python@3.10
python@3.9
・
・
・
  • シンボリックリンクは、/usr/local/Cellar内のpython3.10を参照している
python3 -> /usr/local/Cellar/python@3.10/3.10.5/bin/python3.10
  • この/usr/local/Cellar内のpython3.10についてもシンボリックリンクとなっており、/usr/local/Cellar/python@3.10/3.10.5/Frameworks/Python.framework/Versions/3.10/binを参照している
python3.10 -> ../Frameworks/Python.framework/Versions/3.10/bin/python3
  • /usr/local/Cellar/python@3.10/3.10.5/Frameworks/Python.framework/Versions/3.10/bin自体もシンボリックリンクとなっており、最終的な実態は同じフォルダ内のpython3.10というバイナリを指していることがわかる
python3 -> python3.10

Pythonバージョン切り替え

  • Homebrew で入れた Python は、シンボリックの張替えでバージョンの切り替えを行うことが可能(=/usr/local/binの該当のpythonのシンボリックリンクを切り替えればよいということ)
  • 例えば、現在はpython@3.10が有効となっていて、python@3.9にダウングレードしたい場合は以下のようにする
  • 下記のpython3は、シンボリックリンク名であり、現在はpython3.10を参照しているので、一旦削除し、新たにpython3.9のシンボリックリンクを作成するというイメージです。
ln -nfs /usr/local/Cellar/python@3.9/3.9.13_1/bin/python3.9 python3

homebrewの各種コマンド

上記で紹介したbrewコマンド以外にも覚えておくと便利なコマンドを列挙します

Homebrewの更新

homebrewをupdateします

※インストールしたフォーミュラ(パッケージ)を更新するわけではないので注意

brew update

フォーミュラの一覧を表示

brew list

更新可能なフォーミュラの一覧を表示

brew outdated

インストールしたフォーミュラ(パッケージ)の更新

brew upgrade

まとめ

いかがでしたでしょうか。本記事では、Homebrewを理解しながら、macOS(OS X)でPython3をインストールする方法について紹介しています。Homebrewはコピペでコマンドを貼り付けて終わりがちですが、インストール先はどこなのか、さらに大元の実態はどこにあるのかについて理解できるような内容になっています。