【対応例】macOS Big Surでpyenv installでPythonをインストールできない…

【対応例】macOS Big Surでpyenv installでPythonをインストールできない…

 

【動画で解説】対応例:pyenv install できない…Pythonインストールエラー(macOS Big Sur)
:Example Solution – Unable to install Python with pyenv install on macOS Big Sur…

 

 


視聴時間:1分58秒

結局は「解決方法②」で解決しました。
詳細は、記事をご確認ください。

 




 

【問題と解決方法例 – Issue & Example Solution】pyenv installができない – Unable to install Python with pyenv install
:BUILD FAILED(OS X 11.1 using python-build 20180424)〜1 error generated.make: *** [Modules/posixmodule.o] Error 1

 

 

Flaskを利用して機械学習Webアプリ開発について学ぶためにmacOS Big Sur環境で、久しぶりにPythonプログラミングを始めた所、エラーに遭遇しました…

ターミナルをzshに変更し、Homebrewを入れ直して…

再度プログラミング環境を整える中で様々なエラーに対処することになりましたが、このページには、機械学習プログラミング初学者の方の情報収集の利便性を考え、pyenv関連のエラーと対応例についてまとめておきたいと思います。

I started Python programming for the first time in a while in the macOS Big Sur environment to learn about machine learning web app development using Flask, and encountered an error…

Change terminal to zsh, re-install Homebrew…

I had to deal with various errors while setting up the programming environment again. On this page, I would like to summarize pyenv-related errors and examples of how to deal with them for the convenience of information gathering for first-time machine learning programming students.

 

 

開発環境 – Development Environment

 

 

・macOS Big Sur 11.1
・Command Line Tools:Xcode 12.3(12C33)
・ターミナル – Terminal:zsh
・Homebrewでインストールしたpyenvを利用 – Use pyenv installed by Homebrew
・pyenv:1.2.21

 

 

問題 – Issue

 

 

:pyenv installができない。(pyenv installでAnacondaはインストールできる – “Anaconda” can be installed with “pyenv install”)
 Unable to install Python with “pyenv install”


pyenv install 3.7.3
pyenv install 3.6.0

 

 

出力結果 – Results

 

 

BUILD FAILED (OS X 11.1 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/k5/69p〜/T/python-build.2021〜.〜
Results logged to /var/folders/k5/69ph〜/T/python-build.2021〜.=.log
・・・・・・
Last 10 log lines:
                                                     
clang -c -Wno-unused-result〜
・・・・・・
1 warning generated.
・・・・・・
〜 is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        ret = sendfile(in, out, offset, &sbytes, &sf, flags);

1 error generated.
make: *** [Modules/posixmodule.o] Error 1
make: *** Waiting for unfinished jobs....

 

 

【解決方法例 – Example Solution】

 

 

対応方法① – Method 1.Example Solution
:pyenv バージョン1.2.22にアップデートする。
 Update to “pyenv” version 1.2.22

Homebrewでpyenvをインストールした場合は以下のコマンドを実行。
If you have installed pyenv with Homebrew, execute the following command.

 

brew upgrade pyenv

【追記 – Postscript:2021年1月28日】

2021年1月28日にGoogle ColaboratoryのPython環境を以下のコードで確認すると

import platform
print("python " + platform.python_version())

「3.6.9」の出力結果が得られたため、ローカル環境にもPython3.6.9をインストールしようとした所、出来ませんでした・・・
Command Line Toolsを「Version 12.4(12D4e)」にアップデートしたことも影響したのでしょうか?
結局、「対応方法②」で解決しました。

 

On January 28, 2021, the Python environment at Google Colaboratory was checked with the following code

import platform
print("python " + platform.python_version())

When I tried to install Python 3.6.9 in my local environment, I was unable to do so because the output was “3.6.9”…
Did the fact that I updated Command Line Tools to Version 12.4 (12D4e) affect the results?
In the end, I solved the problem with “Method 2”.

 

 

対応方法② – Method 2.Example Solution
:pyenv:1.2.21のまま実施する場合。
 When implementing pyenv: 1.2.21 as is.

解決するために参考とした情報 – Reference Information
Issues:Python cannot be installed on Mac OS 11.0.1 pyenv #1737(20 Nov 2020)- pyenv/pyenv | GitHub

以下のコードをターミナルで順番に実行する。
Execute the following codes in order in the terminal.

 

①「zlib」「bzip2」の再インストール。
Reinstall “zlib” and “bzip2”.

brew reinstall zlib bzip2

 

②シェルに応じて「.zshrc」または「.bashrc」の更新。
Update “.zshrc” or “.bashrc” depending on the shell.

export PATH="$HOME/.pyenv/bin:$PATH"
export PATH="/usr/local/bin:$PATH"

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
export LDFLAGS="-L/usr/local/opt/zlib/lib -L/usr/local/opt/bzip2/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include -I/usr/local/opt/bzip2/include"

 

③指定したバージョンのPythonをインストール。
(Python 3.7.3をインストールする場合の例)
Install the specified version of Python.
(Example of installing Python 3.7.3)

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)

* 3.7.3の所を、変えると他のバージョンをインストールできます。
  If you change the “3.7.3”, you can install other versions.
* ①②を一度実行後は、③だけ行うと新たなPythonをインストールできるようでした。
  If you change the “3.7.3”, you can install other versions.
  Once you have done ① and ②, you can install a new version of Python by doing only ③.
  
 

この手順は面倒なので、pyenvを最新のバージョンにアップデートすることをお勧めします。
This step is tedious, so we recommend that you update pyenv to the latest version.

 

 

対応方法③ – Method 3.Example Solution

 

この記事の内容を実施しても出来ない方もいるようでした。

pyenvを使ってpython3.8のダウンロードをしたい。2021年11月投稿 | teratail

解決方法例として、こちらの方法もあるようです。

M1版とIntel版のHomebrewを併用するときpyenvがうまく動かない問題を解決する @tomtsutom0122 | Qiita

コマンドの実行例

arch -arch x86_64 env PATH=${PATH/\/opt\/homebrew\/bin:/} pyenv install 3.8.7

* Python 3.8.7をインストールする例

 

 

pyenvの問題 – pyenv issues

 

 

pyenvの過去の問題や、最新の問題報告はpyenvのissuesで確認できます。
Past issues of “pyenv” and the latest issue reports can be found at “pyenv issues”.
pyenv/pyenv – Issue tracking | GitHub

 

 

by 子供プログラマー | プログラミング入門ウェブ教室

 

【ERROR Codes】- プログラミング学習エラーコード集(一覧)

 

日本人のための人工知能プログラマー入門講座(機械学習)