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

こちらの記事は以下の動画でも紹介しています

環境

  • macOS Monterey 12.0.1
  • Python 3.10
  • VSCode

インストール手順

大前提として

  • macOSであること
  • homebrewがインストールされていること(まだの方は以下からおねがいします)
Homebrew
The Missing Package Manager for macOS (or Linux).
  • 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.7 ✔
    python@3.8 ✔
    python@3.9 ✔
    python@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

    Python学習におすすめの書籍

    独習Python/山田祥寛【3000円以上送料無料】
    bookfan 1号店 楽天市場店
    ¥ 3,300(2022/08/04 17:32時点)

    コメント

    タイトルとURLをコピーしました