Open1
pythonのpyenv install で BUILD FAILED
目的
python3系を使いたい。
結論(仮)
python3
と入力して起動すればおk
$ python3
環境
macOS: 11.6
$ brew --version
>>> Homebrew 3.2.15
$ python -V
>>> Python 2.7.16
$ pyenv --version
>>> pyenv 2.1.0
$ pyenv versions
>>> pyenv: version `anaconda3-4.0.0' is not installed (set by /Users/[user name]/.python-version)
>>> system
#system にアスタリスクついてないけど大丈夫かな?
$ pyenv install --list
>>> #3.x.xなど
>>> 3.8.0 #今回これを入れてみる
$ echo $SHELL
>>> /bin/bash
$ bash --version
>>> GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin20)
>>> Copyright (C) 2007 Free Software Foundation, Inc.
試したこと&エラー
try 1
とりあえず、普通にinstallしてみたら、BUILD FAILED というエラー
$ brew install 3.8.0
>>>
python-build: use openssl@1.1 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 tcl-tk from homebrew
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
BUILD FAILED (OS X 11.6 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/dm/02xx63wn2pv9sz_m4hmt4t1w0000gn/T/python-build.20211007170953.59949
Results logged to /var/folders/dm/02xx63wn2pv9sz_m4hmt4t1w0000gn/T/python-build.20211007170953.59949.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/02xx63wn2pv9sz_m4hmt4t1w0000gn/T/python-build.20211007170953.59949/Python-3.8.0':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: *** No targets specified and no makefile found. Stop.
try 2
ググると、以下の記事に、
#!/bin/bash
echo "Installing Dependencies"
brew install zlib
brew install sqlite
brew install bzip2
brew install libiconv
brew install libzip
echo "Done!"
echo
echo -e "Setting Environment Variables"
export SYSTEM_VERSION_COMPAT=1
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/zlib/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/zlib/include"
export LDFLAGS="${LDFLAGS} -L/usr/local/opt/sqlite/lib"
export CPPFLAGS="${CPPFLAGS} -I/usr/local/opt/sqlite/include"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/zlib/lib/pkgconfig"
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH} /usr/local/opt/sqlite/lib/pkgconfig"
echo "Done!"
echo
echo "Installing Python 3.8.5"
pyenv install 3.8.5
echo "Done!"
exit 0
を追加すると良い、と書いてあった。しかし、どこに書けばいいか不明
とりあえず~/.badh_profile
に追加して実行してみたがエラー
$ pyenv install 3.8.0
>>> # try1 と同じエラー
try 3
次にこの記事に従い、brew install zlib
をやってみるが、失敗
$ brew install zlib
$ echo 'export LDFLAGS="-L/usr/local/opt/zlib/lib"' >> ~/.bash_profile
$ echo 'export CPPFLAGS="-I/usr/local/opt/zlib/include"' >> ~/.bash_profile
$ echo 'export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig"' >> ~/.bash_profile
$ source ~/.bash_profile
$ pyenv install 3.8.0
>>> # try1 と同じエラー
try 4
以下の記事を参考に、bashrc
に書き込みをする。
pyenv: 1.2.21
の対応策だから、望み薄いが...
書き込み後、上記の記事に従い、以下を実行
結果、失敗に終わるorz
$ CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install --patch 3.7.3 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)
$ pyenv install 3.8.0
>>> # try1 と同じエラー
try 5
pyenv 2.1.0 build failed
とpyenv のバージョンを指定してググってみると、以下の記事がヒット。
PATHの設定と再起動をやってみる (再起動をうまくやってなかったので、失敗していたのか?)
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
$ exec $SHELL -l
exec $SHELL -l
を実行した後、[プロセスを完了しました]
と表示されたので、次にどうすれば?となった(笑)
以下の記事を参考に
ターミナルの「シェル」→「新規コマンド」で /bin/sh と入力して、mv .bash_profile .bash_profile_`date +%F`
を実行したら直った。
pyenv version
を確認すると
$ pyenv versions
>>> pyenv: version `anaconda3-4.0.0' is not installed (set by /Users/Asahi/.python-version)
>>> system
>>> 3.8.5 #←入った!
3.8.5
を入れることに成功(祝)
しかし、、、
$ pyenv global 3.8.5
>>> pyenv: version `anaconda3-4.0.0' is not installed (set by /Users/Asahi/.python-version)
>>> system
>>> 3.8.5
環境を切り替えることには失敗 orz
anaconda3
が悪さをしてるみたいだけど,,,
$ pyenv version
>>> pyenv: version `anaconda3-4.0.0' is not installed (set by /Users/Asahi/.python-version)
どうやって直すか調査中
(anaconda uninstallしたんだけど、pyenv
にまだ影響あたえてるのかな ...)