【2025年4月】Macの環境構築 for 理系学生


# ターミナル周りのセットアップ（CLI系）
## Mac標準ターミナルの設定

https://support.apple.com/ja-jp/guide/terminal/trmltxt/mac

Cmd + ,で設定を開き、プロファイル→フォントで文字の大きさを設定。

## Homebrewのインストール

https://brew.sh/ja/

ターミナルを開いて、以下のコマンドを実行。
```sh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

### Homebrewのパスを通す
```sh
echo >> /Users/_account_name_/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/_account_name_/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
```

動作確認は以下のコマンド
```sh
brew --version
```

Homebrewをインストールするときに、XcodeのCommand Line Toolsをインストールしてくれそうなので、一旦XcodeのインストールはスキップしてOK

## GitHub CLIのインストール
```sh
brew install gh
```

インストールしたら、SSHの設定とログインをする。
```sh
gh auth login
```
自分しか使わないPCなのでパスフレーズは省略。
ターミナルに出てきたメッセージに従ってSSHの設定をしたら、今までで一番スムーズにできた気がする。


## Pythonのインストール
公式サイトからダウンロード。
バージョンは、様々なライブラリとの互換性を重視して3.12にした。

https://www.python.org/downloads/macos/

インストーラの指示に従ってインストールする。
### Pythonのパスを通す
公式サイトからインストールしたPythonはパスを通さないと使えない。
```sh
echo 'export PATH="/Library/Frameworks/Python.framework/Versions/3.12/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
```

### python3だけでなくpythonコマンドでも起動させる
```sh
alias python="/Library/Frameworks/Python.framework/Versions/3.12/bin/python3"
```

動作確認は``python --version``で行う。

### Pythonのライブラリをインストール
まずは仮想環境を立ち上げる。
```sh
mkdir -p ~/venvs
cd ~/venvs
python3 -m venv science_env
source ~/venvs/science_env/bin/activate
```
仮想環境を立ち上げたら、ライブラリのインストール
```sh
pip install --upgrade pip
pip install numpy scipy matplotlib seaborn pandas scikit-learn tensorflow keras torch torchvision torchaudio notebook ipython
```

データサイエンス向けに、追加でライブラリをインストール
```sh
pip install xgboost lightgbm transformers optuna catboost shap eli5 hyperopt ray tune mlflow streamlit plotly dash category_encoders imbalanced-learn yellowbrick
```

`requirements.txt`を作成。
```sh
pip freeze > requirements.txt
```

Claudeにpip-toolsを入れろって言われた
```sh
pip install pip-tools
```
Pythonの仮想環境の構築は沼る気がしたから、残りは後回し。
最後に仮想環境から抜ける。ターミナルで以下を実行。
```
deactivate
```

## vimの設定 (Emacs派閥の人はここはスキップ)
`~/.vimrc`に以下を書き込む
```
" 構文ハイライトを有効化
syntax enable

" バックスペースでインデント、行末、挿入開始位置も削除可能に
set backspace=indent,eol,start

" 文字エンコーディングをUTF-8に設定（日本語なども扱える）
set encoding=utf-8

" タブ入力をスペースに変換
set expandtab

" 検索結果をハイライト表示
set hlsearch

" 検索時に大文字小文字を区別しない（smartcaseと併用）
set ignorecase

" ステータスラインを常に表示
set laststatus=2

" 不可視文字（ここではタブ）を可視化（▸-で表示）
set list
set listchars=tab:\▸\-

" 行番号を表示
set number

" 自動インデントやシフト操作時の幅を4に
set shiftwidth=4

" 検索語に大文字が含まれるときは大文字小文字を区別
set smartcase

" タブキーを押したときに入るスペース数（見た目の幅）を4に
set softtabstop=4

" 実際のタブ文字の幅も4に（表示幅）
set tabstop=4

" コマンドライン補完をメニュー形式で表示
set wildmenu

" 検索が最後の行に達したら、最初の行に戻って再検索
set wrapscan
```

## コンパイラ（GCCのインストール）
Macにデフォルトで入ってるApple Clangはオワコンなので、HomebrewでGCCをインストールします。（GCCが嫌いな人はLLVM Clangをインストールしてね）

```sh
brew install gcc
```

デフォルトではgcc、g++コマンドでApple Clangが起動してしまうので、エイリアスを貼ってHomebrewのGCCが動くようにする。
`~/.zshrc`に追記する
```
echo "alias gcc='gcc-14'" >> ~/.zshrc
echo "alias g++='g++-14'" >> ~/.zshrc
source ~/.zshrc
```

# ソフトウェア・アプリのインストール（GUI系）

## VS Codeのインストール
https://code.visualstudio.com

### GitHub Copilotの設定
VS Codeをインストールして最初に開く画面で、Copilotをお勧めされるのでGitHubのアカウントでサインインする。GitHubのアカウントがなければ作る。

### 拡張を入れる
C++、Python、Jupyter、Latex、typst、その他

## 文献管理ツールを入れる
MendeleyやZoteroなど、好きなものを使おう

https://www.mendeley.com/download-reference-manager/macOS

https://www.zotero.org/download/


## Dockerのインストール
一時期、Docker Desktop for Macがマルウェアであると誤検知される問題があったが、2025年4月時点の最新版では解消されているらしい。
ウェブからDocker Desktopをダウンロードする。

https://www.docker.com/ja-jp/products/docker-desktop/

Use recommended settingsの設定をして、その後アップデートが要求されたらアプデする。


### Ubuntuを入れる
Docker Desktopのアプリを立ち上げて、Docker HubでUbuntuと検索したら、Official のイメージが出てくるはず。それをPullする。

ターミナルで以下を実行。
```sh
brew install --cask xquartz
```

インストールしたらXQuartzを開く。
```sh
open -a XQuartz
```
設定(Cmd + ,)→セキュリティ→ネットワーク・クライアントからの接続を許可

IPアドレスを確認
```sh
ipconfig getifaddr en0
```


DockerのGUI化には他にも必要な手順があるが、一旦ここで打ち切り。（筆者はネットワーク関連で挫折した）続きは必要になってから。

## Google Chromeのインストール

https://www.google.com/intl/ja_jp/chrome/

## GitHub Desktopのインストール

https://github.com/apps/desktop

## ChatGPT、Claudeのインストール
https://openai.com/ja-JP/chatgpt/desktop/

https://claude.ai/download

:::note info
あくまでも理系の学生として、対話型のサービスとして提供される生成AI（よく見るチャット形式のあれ）やCopilotはどんどん使うが、Clineは現状使わない予定。

Clineは様々なデータへのアクセスを許可（権限を付与）することで圧倒的な性能を実現するが、知的財産やプライバシーの侵害がちょっと怖いのでひとまず見送り。

機敏なデータが入っていない個人の実験・研究開発用のPCで試してみようかな。
:::


## 通話系アプリのインストール
Discord、Zoomはウェブから。
LINE、Slack、MessengerはApp Storeから。

https://discord.com/download

https://zoom.us/download


## Draw.ioのインストール
論文やレポートを書くとき、図が必要になりがち。

https://github.com/jgraph/drawio-desktop/releases/tag/v26.2.2

## 辞書のインストール
デフォルトでMacには辞書が入っているが、趣味でフランス語とかドイツ語を調べるときは足りないので物書堂の辞書を入れる。

# デフォルトの設定をいじる
## Finderの隠しファイルを表示
Cmd + Shift + .

### ショートカットが動かない場合
ターミナルで以下を実行する
```sh
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
```


## スクリーンショットの保存場所を変更
スクショ（Cmd + Shift + 3または4または5）はデフォルトでデスクトップに保存されるが、それをデスクトップ内のフォルダScreenshotsに変更する
```
mkdir -p ~/Desktop/Screenshots
defaults write com.apple.screencapture location -string "~/Desktop/Screenshots"
```

## Finderで拡張子を表示
「設定」(Ctrl + ,) →「詳細」をクリック
ついでに、「詳細」タブの隣の「サイドバー」もクリックして、ホームディレクトリを表示

https://zenn.dev/horatjp/articles/macos-dev-env


## iCloudとローカルのデスクトップ、書類フォルダを同期(統合)
iCloudのサブスク契約していて、クラウドストレージが大量にあるので、書類フォルダとクラウドストレージを統合してしまった方が個人的には楽

「システム設定」アプリ→自分の名前(Apple Accountのメニュー)→iCloud→Drive→"デスクトップ"フォルダと"書類"フォルダ

## フルキーボードアクセス（自分には相性悪いかも）
「システム設定」アプリ→アクセシビリティ→キーボード→フルキーボードアクセス

https://support.apple.com/ja-jp/guide/mac-help/mchlc06d1059/mac

## キーの連続入力の速さ
「システム設定」アプリ→キーボード→キーのリピート速度

## ディスプレイの明るさの自動調節をオフ
「システム設定」アプリ→ディスプレイ→輝度を自動調節

## 自動変換をオフ
キーボード→スペルと予測変換→すべての入力ソース→文頭を自動的に大文字にする

スペースバーを2回入力してピリオドを入力

## 日本語のライブ変換をオフ
日本語入力モードにして、入力メニュー（画面の右上にある）「あ」と表示された四角をクリック
「ライブ変換」をクリックしてオフにする

あるいは、「システム設定」アプリですべての入力ソースから「日本語 - ローマ字入力」を開く

https://support.apple.com/ja-jp/guide/japanese-input-method/aside/glos52ed78a0/6.3/mac/15.0

https://support.apple.com/ja-jp/guide/japanese-input-method/jpim10265/mac

## バッテリーの設定
「システム設定」App→バッテリー→オプション→バッテリー使用時のビデオストリーミングを最適化
「システム設定」App→バッテリー→低電力モード→バッテリー使用時のみ
「システム設定」App→コントロールセンター→バッテリ→割合（%）を表示


# その他
## メールのアカウント再登録
自分はMacの標準メーラを使っているので、自分のメールアドレスを再登録する

## Macの「ヒント」Appを見る
初めてMacを使う人、Macに慣れていない人はざっと目を通しておくといいかも

## 必要があれば、パスワード保管ツールやワンタイムパスコード発行アプリの設定（Macではなくモバイル端末の設定）
認証に使うデバイスを無くすと酷い目にあうので、バックアップコードを印刷するなりiCloudのメモにパスワードのロックかけて保管するなりした方がいいかも
2要素認証はセキュリティが向上するけど利便性は低下するんだよねぇ