こんにちは。野中やすおです。
仕事でPython3.8系指定でインストール必要があったのですが、エラーになってしまい、1時間くらい苦労したのでその時に試した方法と解消方法を記事にします。
同じエラーでハマった方の参考になれば幸いです。
PCの環境
- MacBook Pro
- チップ:Apple M1 Pro
- OS:Ventura バージョン13.5
- シェル: zsh
インストール内容とエラー内容
私は、Python3.8系(3.8系であればどのバージョンでも良い)をインストールしたかったので、pyenvを利用して3.8.0を一旦インストールしようとしたのですが、以下のエラーが発生しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
❯ pyenv install 3.8.0 python-build: use openssl from homebrew python-build: use readline from homebrew Downloading Python-3.8.0.tar.xz... -> https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz Installing Python-3.8.0... python-build: use readline from homebrew python-build: use ncurses from homebrew python-build: use zlib from xcode sdk BUILD FAILED (OS X 13.5 using python-build 20180424) Inspect or clean up the working tree at /var/folders/jr/yv7k3yt94bl7_ptqtfvzcy400000gn/T/python-build.20231206223004.18254 Results logged to /var/folders/jr/yv7k3yt94bl7_ptqtfvzcy400000gn/T/python-build.20231206223004.18254.log Last 10 log lines: checking size of _Bool... 1 checking size of off_t... 8 checking whether to enable large file support... no checking size of time_t... 8 checking for pthread_t... yes checking size of pthread_t... 8 checking size of pthread_key_t... 8 checking whether pthread_key_t is compatible with int... no configure: error: Unexpected output of 'arch' on OSX make: *** No targets specified and no makefile found. Stop. |
解消手順
試した方法1
まずは、念のため「readline」、「ncurses」、「zlib」、「xcode」がPCにインストールされているかを確認しました。また時間はかかりましたが「xcode」を一度削除して、再インストールしてみました。
上記を試して、解決しませんでした。
試した方法2
次にこちらの記事の内容を試しました。
はじめに研究室で新しいM1 MacBook Airを提供してもらったので、早速Python環境でも構築しようと思い作業に…
1 2 3 4 |
echo 'export LDFLAGS="-L/usr/local/opt/zlib/lib"' >> ~/.zshrc echo 'export CPPFLAGS="-I/usr/local/opt/zlib/include"' >> ~/.zshrc echo 'export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig"' >> ~/.zshrc <span class="nb">source</span> ~/.zshrc |
1 |
export PATH="$PYENV_ROOT/shims:$PATH" |
1 2 3 4 5 6 7 8 9 |
cat ~/.zshrc export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/shims:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" export LDFLAGS="-L/opt/homebrew/opt/zlib/lib" export CPPFLAGS="-I/opt/homebrew/opt/zlib/include" export PKG_CONFIG_PATH="/opt/homebrew/opt/zlib/lib/pkgconfig" |
試した方法3
次はこの方法です。
Anyone having issues installing python 3.8.10 on macOS Monte…
gccが手元にインストールされていること確認した上で、
1 |
CC=`which gcc` pyenv install 3.8.0 |
などのコマンドを試しましたが、解決しませんでした。
試した方法4
私はこの方法で、解決できました!
どうやらアップル側の破壊的なリリースによって使えなくなったようで、
Fixed in 3.7.13, 3.8.13, 3.9.11 and 3.10.3 .
上記のバージョンだと問題なく動作するそうです。
私は3.8系をインストールしたかったので、3.8.13をインストールしました。
1 |
pyenv install 3.8.13 |
これでエラーを起こすことなく、3.8系をインストールすることができました!
最後に
本記事で紹介した先人の方々、本当にありがとうございました!私は最後の試した方法で解決できましたが、他の方法で解決できる場合もあると思うので、参考にしてみてください!