LoginSignup
3
5

More than 1 year has passed since last update.

久しぶりのPython3系環境構築でエラーにハマった

Last updated at Posted at 2022-05-21

前提条件

  • MacBook Pro (14インチ、2021)
  • macOS Monterey
  • バージョン 12.2.1
  • チップ Apple M1 Pro

事前確認

新型MacBook ProはデフォルトでPython2系がインストールされています。

$ python -V
Python 2.7.18

Python3もインストールされてるか確認します。
ひとによっては入ってないかも。

$ python3 -V
Python 3.8.9

pyenvのインストール

$ brew install pyenv
$ pyenv -v
pyenv 2.3.0

「.zshrc」と「.zprofile」の設定

ここが問題でpyenvのアップデートでpythonの環境変数を指定しないといけなくなったことが原因らしいです。下記コマンドを叩いてください。

// .zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
$ cat .zshrc

// .zprofile
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zprofile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zprofile
$ echo 'eval "$(pyenv init --path)"' >> ~/.zprofile
$ cat .zprofile

最終的にこんな感じです。vimでベタ書きでもOKです。

# .zshrcに以下を記載
eval "$(pyenv init -)"

# .zprofile に以下を記載
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

ここが変更点です。eval "$(pyenv init --path)"

// 環境変数を再読み込みします
source ~/.zshrc

Xcodeインストールしてない方へ

XcodeはApp Storeからインストールしてください。
有線LAN推奨、2時間くらい掛かりました。。。
Wi-fiの場合は、スリープ中もダウンロードが続く「Power Nap」を一応確認してください。(デフォルトON)

// インストール中のログ確認(あまりに遅かったため)
tail -fn 100 /var/log/install.log

// インストールされてるか確認
xcode-select -v
xcode-select version 2392.

デフォルトVersion切り替え

$ pyenv versions
* system (set by /Users/user_name/.pyenv/version)
$ pyenv install --list
$ pyenv install 3.10.4
$ pyenv versions
* system (set by /Users/user_name/.pyenv/version)
  3.10.4

ここでpyenv install 3.8.9(失敗)
環境構築可能なバージョンは、3.9.8以降のようです。

それより古いと下記のビルドエラーが出ます。
python-build: use zlib from xcode sdk
BUILD FAILED (OS X 12.2.1 using python-build 20180424)

// ローカルのPythonバージョンの切り替え
$ pyenv global 3.10.4

// ローカルのPythonバージョン確認
$ Python -V
Python 3.10.4
$ python3 -V
Python 3.10.4

これでPython3系環境構築完了です。

結構、色々と調べて苦戦してしまいました。。。
何かあればコメントお願いします。

参考

pyenvでPython2系と3系を切り替える【macOS】
【随時更新予定】macOS 12.2 Monterey上のpyenvで環境構築可能なPythonのバージョンの備忘録
Python pyenv アップデートでpathの設定が変更
MacでPower Napをオン/オフにする

3
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5