MacOS BigSur環境でPython3.8.xのアップグレードができませんでした...
ってただそんな記事です。
##ハマったこと
brewに入っているpyenv
brew ls
... ... ... pyenv
... ... ...
pyenvでアップグレードをやってみたところ、次のエラーとなりました。
pyenv install 3.8.7
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.7.tar.xz...
-> https://www.python.org/ftp/python/3.8.7/Python-3.8.7.tar.xz
Installing Python-3.8.7...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
BUILD FAILED (OS X 11.2.3 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/dm/w2kc18ms6ts9wnpn_jk2h5qc0000gn/T/python-build.20210523165537.58334
Results logged to /var/folders/dm/w2kc18ms6ts9wnpn_jk2h5qc0000gn/T/python-build.20210523165537.58334.log
Last 10 log lines:
checking for python3... python3
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... "darwin"
checking for gcc... clang
checking whether the C compiler works... no
configure: error: in `/var/folders/dm/w2kc18ms6ts9wnpn_jk2h5qc0000gn/T/python-build.20210523165537.58334/Python-3.8.7':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: *** No targets specified and no makefile found. Stop.
configure: error: C compiler cannot create executables
このエラーメッセージ、同じようにハマっている人がネットで見られました。
Big Surの環境だとXCodeのCコンパイラのバージョンがついていけてない?ような問題で上手くインストールできないような状況のようです。
対処方法
結論から行くと、Pythonのオフィシャルから最新版のPython3をインストールし直すのが1番早く、私はそちらで一旦バージョンアップを行いました。
Xcodeのベータ版をインストールするとか、(上記のエラーだとちょっと違うようですが)zlibをインストールして対処する手順なんかもあるようですが...私の場合はうまくいきませんでした。
普通にMac版のPythonインストーラをダウンロードし、インストールしたところ、うまくバージョンアップできました。
python3 -V
Python 3.9.5
やりたかったこと
pipenv install
を行いたかったのですが、こちらは3.8.x以降しかサポートされていないようです。
バージョンアップ後もちょっとハマったのでメモ書きですが、pipenv install
するときはきちんと該当バージョンのpythonのPATHを指定する必要があります。
which python3
/Library/Frameworks/Python.framework/Versions/3.9/bin/python3
pipenv install --python=/Library/Frameworks/Python.framework/Versions/3.9/bin/python3
こちらでpipenv install
がうまくいきました。
※PATHじゃなくて、バージョンを指定することもできるようです。