📝

Mac への Python インストール作業の覚書(2024年2月)

2024/02/18に公開

この記事について

内容

MacBook Pro に Python をインストールした作業の覚書

作業時期と環境

  • 作業時期: 2024年2月18日
  • ハードウェア: MacBook Pro (Apple M3 Pro)
  • システムのバージョン: macOS 14.3.1(23D60)
  • Homebrew (Homebrew 4.2.8)

参考にした記事など

Python開発環境をMacにインストールする(2023年1月)

この記事に含まれないこと

  • Homebrew の導入

大まかな作業の流れ

  • Homebrew を使用して pyenv をインストール
  • .zshrc に Python のパスを設定
  • pyenv で Python をインストール
  • 警告を解消するために Homebrew で xz をインストールしてインストールを再実行
  • Python のバージョン指定と動作を確認

具体的な作業手順

作業前の状態の確認

今回の作業前の時点では Python はどのバージョンも未導入
(pyenv も同様)

% which python
python not found
% python
zsh: command not found: python

pyenv のインストール

Homebrew を使用して pyenv をインストール

% brew install pyenv

.zshrc にパスを設定

以下でパスを設定する

% echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
% echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.zshrc
% echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc    
% echo 'eval "$(pyenv init -)"' >> ~/.zshrc

~/.zshrc に以下が追加されていることを確認(または直接記入)

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/shims:$PATH"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

~/.zshrc の設定を反映させる
PATH にホームディレクトリ以下の /.pyenv/shims が追加されていることを確認。

% source ~/.zshrc 
% echo $PATH
/Users/XXX/.pyenv/shims:...(省略)

Python のインストール

pyenv でインストール可能な Python のバージョンを確認

以下のように確認し、3.12.2 をインストールすることにする

% pyenv install -list
Available versions:
  2.1.3
  2.2.3
  ...(省略)...
  3.12.0
  3.12-dev
  3.12.1
  3.12.2
  3.13.0a3
  3.13-dev
  ...(以下省略)

Python のインストール (警告が出る)

3.12.2 をインストールする

% pyenv install 3.12.2

参考のした記事と同じ警告(下から2行目の WARNING:)がでた

% pyenv install 3.12.2
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.12.2.tar.xz...
-> https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz
Installing Python-3.12.2...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/XXX/.pyenv/versions/3.12.2/lib/python3.12/lzma.py", line 27, in <module>
    from _lzma import *
ModuleNotFoundError: No module named '_lzma'
WARNING: The Python lzma extension was not compiled. Missing the lzma lib?
Installed Python-3.12.2 to /Users/XXX/.pyenv/versions/3.12.2

一度アンイストール

% pyenv uninstall 3.12.2

警告の出たライブラリを Homebrew で追加する

Homebrew で lzma を検索すると、xz に含まれているので、xz をインストールする

% brew search lzma
==> Formulae
lima

If you meant "lzma" specifically:
lzma is now part of the xz formula:
  brew install xz
% brew install xz

(再度) Python のインストール

改めて pyenv で Python 3.12.2 をインストール
今回は警告は出ずにインストールが完了する

% pyenv install 3.12.2  
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.12.2.tar.xz...
-> https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz
Installing Python-3.12.2...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.12.2 to /Users/XXX/.pyenv/versions/3.12.2

Python のバージョンの指定と動作の確認

pyenv でシステム全体で使用する Python のバージョン指定がどうなっているか確認

% pyenv versions
* system (set by /Users/roka/.pyenv/version)
  3.12.2

3.12.2 を標準にする
Python が動作することを確認

% pyenv global 3.12.2
% pyenv versions
  system
* 3.12.2 (set by /Users/roka/.pyenv/version)
% which python
/Users/roka/.pyenv/shims/python
% python
Python 3.12.2 (main, Feb 18 2024, 14:56:25) [Clang 15.0.0 (clang-1500.1.0.2.5)] on darwin

Discussion