第2回 自分のMac環境を調査してみよう 〜まずは「現在の状態」を知ることから始めよう〜
対象読者
- Macで研究開発環境を構築したい方
- C++やPythonをこれから使い始める方
- Homebrewを導入したものの、自分の環境がどうなっているのかよく分からない方
AI利用について
✍️ 本記事は 生成AI(ChatGPT)によって作成 されました。
誤りがあればコメント等でご指摘いただけると助かります。なお、本記事に含まれる内容については、執筆時点での情報に基づいています。
環境やソフトウェアのバージョンによって挙動が異なる場合があるため、必要に応じて公式ドキュメントもあわせて参照してください。
はじめに
前回は、Homebrewとは何か、なぜ研究開発で利用されるのかについて解説しました。
しかし、いきなりソフトウェアをインストールするのはおすすめできません。
環境構築で最も重要なのは、
現在、自分のMacがどのような状態なのかを知ること
です。
これはプログラミングだけではなく、研究でも同じです。
実験を始める前に装置の状態を確認するように、環境構築でもまず現状を把握します。
この記事では、実際に私がMac環境を調査した際に利用したコマンドを例に、環境調査の方法を紹介します。
なぜ環境調査が重要なのか
例えばPythonをインストールしたとしても、
- Apple標準のPython
- Homebrew版Python
- pyenvでインストールしたPython
など、複数のPythonが共存できます。
そのため、
python3
と入力したときに、
実際にはどのPythonが起動しているのか
を知らなければ、後々トラブルになります。
そこで最初に環境を調べます。
whichコマンド
まず覚えてほしいのが
which
です。
例えば
which python3
と入力すると、
/usr/bin/python3
や
/opt/homebrew/bin/python3
のように表示されます。
これは
実際に実行されるプログラムの場所
を意味しています。
同様に
which git
which g++
which clang++
which cmake
なども確認できます。
実際に私の環境を確認してみた
環境構築前は
which python3
を実行すると
/usr/bin/python3
となっていました。
これは
Apple標準のPython
を利用していることを意味します。
一方、Homebrew版Pythonへ移行すると
/opt/homebrew/bin/python3
へ変わります。
この違いは後の記事で詳しく解説します。
typeコマンド
もう一つ便利なのが
type python3
です。
例えば
python3 is /opt/homebrew/bin/python3
と表示されます。
実は
which
よりも
type
の方が情報量が多く、
- 実行ファイル
- エイリアス
- シェル関数
- シェル組み込みコマンド
まで判定してくれます。
環境調査では
which
と
type
をセットで覚えておくことをおすすめします。
Homebrewの状態を調べる
Homebrew自体の状態も確認できます。
まずは
brew doctor
を実行します。
正常なら
Your system is ready to brew.
と表示されます。
これは
Homebrewが現在問題なく利用できる状態
であることを意味します。
インストール済みパッケージを確認する
Homebrewには
- Formula
- Cask
の2種類があります。
確認方法は
brew list
Formula一覧
brew list --cask
GUIアプリ一覧
となります。
私の環境では
python
gcc
tesseract
...
などがインストールされていました。
PATHとは何か
環境調査で最も重要なのが
echo $PATH
です。
例えば
/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin
のような長い文字列が表示されます。
最初は意味が分からないと思います。
しかし、これは
コマンドを探す順番
を表しています。
PATHのイメージ
例えば
python3
と入力すると、
Macは
/opt/homebrew/bin
から探し始めます。
もし無ければ
/usr/local/bin
さらに無ければ
/usr/bin
という順番で探します。
図で表すと
python3
│
▼
/opt/homebrew/bin
│
├── 見つかった → 実行
│
└── 無い
│
▼
/usr/local/bin
│
└── 無い
│
▼
/usr/bin
│
└── 見つかった
つまり
PATHの順番が、そのまま実行されるプログラムを決めています。
Xcode Command Line Tools
Macでは
xcode-select -p
も確認しておきましょう。
通常は
/Library/Developer/CommandLineTools
と表示されます。
ここには
- Apple Clang
- Git
- Make
- SDK
などが含まれています。
研究用途でも非常に重要です。
Apple標準版とHomebrew版
環境調査をしていると
/usr/bin
と
/opt/homebrew/bin
が頻繁に登場します。
ここで一度整理すると
| 場所 | 意味 |
|---|---|
/usr/bin |
Apple標準 |
/opt/homebrew/bin |
Homebrew版 |
という違いがあります。
今後は
Homebrew版Python
Homebrew版Git
Homebrew版CMake
などがこちらへ入ります。
今回覚えておきたいコマンド
今回覚えておけば十分なのは次の7個です。
which python3
type python3
brew doctor
brew list
brew list --cask
echo $PATH
xcode-select -p
環境がおかしいと思ったら、まずこれらを実行しましょう。
まとめ
今回は
- 現在の環境を調べる方法
- Homebrewの状態
- PATHの役割
- Apple標準版とHomebrew版の違い
について学びました。
環境構築では
「まず現在の状態を知る」
ことが最も重要です。
この考え方を身につけるだけで、今後PythonやC++の環境構築で迷うことが大幅に減ります。
次回予告
次回は
「Homebrew版Pythonへ移行する」
をテーマに、
- Homebrew版Pythonのインストール
-
pythonとpython3の違い -
pipの確認 - PATHによる切り替え
- キャッシュ(
hash -r)の仕組み
まで詳しく解説します。