0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【初心者向け】pyenv installでエラーが出た時の対処法メモ

Last updated at Posted at 2023-02-24

遭遇したエラー

pyenv install 3.7.5を実行したところ、以下のエラーがでた。

Unexpected output of 'arch' on OSX

本記事ではこのエラー発生時に実施した対応について記載します。

環境

macOS Big Sur
ターミナル:amd64、x86_64
※共にHomebrewインストール済み

対応内容

エラー内容でググったところ、以下の記事がヒットしました。
https://qiita.com/tomtsutom0122/items/52487730001247fdc2c5

どうもpyenvがM1チップに対応していないことが原因で起きると記載されていました。
archコマンドでx86_64を指定してインストールコマンドを実行すればOKと書いてますが、私のMacにはx86_64のターミナルがあったので、こっちでインストールコマンドを実行しました。

【補足】
M1 Macでx86_64のターミナルを動かす手順は以下の記事が分かりやすいです。
ターミナルの設定をされてない方はこちらの記事を参照いただき、x86_64のターミナルを用意した後、下記内容を実施ください。
https://qiita.com/funatsufumiya/items/cec08f1ba3387edc2eed

今度は別のエラーが発生

x86_64のターミナルでインストールコマンドを実行すると、今度は以下のエラーが出ました。

implicit declaration of function 'sendfile' is invalid in C99

このエラー対応として、以下を実施しました。
 zlib、bzipsの再インストール
 .zshrcファイルを編集

①zlib、bzipsの再インストール

まず、上記2パッケージの再インストールを実施しました。

brew reinstall zlib bzip2

②.zshrcファイルを編集

.zshrcファイルを編集し、以下を追記しました。

.zshrc
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"
export CFLAGS="\
-I$(brew --prefix openssl)/include \
-I$(brew --prefix bzip2)/include \
-I$(brew --prefix readline)/include \
-I$(xcrun --show-sdk-path)/usr/include" \
export 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.5 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)

参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?