MacでPython 3.9をインストールしようとしてコケたあなたへ

ログを読むとzlibの問題らしいのだけど、XCodeで入れている「はず」のため自分で入れる必要がありそう。

環境

  • Homebrew 2.5.6
  • anyenv 1.1.2
  • pyenv 1.2.21

手順

まず、zlibをインストール。

$ brew install zlib
# opensslの問題がある場合は以下も
$ brew install openssl@1.1

次に.bashrcや.zshrc、もしくはfish shellの場合はconfig.fishでパスを通す。

# .bashrc, .zshrc など
LDFLAGS="-L/usr/local/opt/zlib/lib"
CPPFLAGS="-I/usr/local/opt/zlib/include"

# opensslの設定がまだの場合は以下のように、
PATH=$PATH:/usr/local/opt/openssl@1.1/bin:/usr/local/opt/openssl/bin
LDFLAGS="-L/usr/local/opt/zlib/lib -L/usr/local/opt/openssl@1.1/lib"
CPPFLAGS="-I/usr/local/opt/zlib/include -I/usr/local/opt/openssl@1.1/include"
PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"
# config.fishの場合
set -g fish_user_paths "/usr/local/opt/openssl@1.1/bin" $fish_user_paths
set -g fish_user_paths "/usr/local/opt/openssl/bin" $fish_user_paths

set -gx LDFLAGS "-L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/zlib/lib"
set -gx CPPFLAGS "-I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/zlib/include"
set -gx PKG_CONFIG_PATH "/usr/local/opt/openssl@1.1/lib/pkgconfig"

そしてシェルをリロード。

# bash, zshなど
$ exec $SHELL -l

# fish shell
$ exec fish