coiai Logo
coiai

pyenv で install 時にエラーが出てインストールできない

環境

MacBook Air M1, 2020
MacOS 14.4.1

困ったこと

pyenv をhomebrew経由でinstallしました。
pyenv –version でインストールを確認したものの、

pyenv install 3.11.1

と入力しても、途中でエラーが起きてしまいます。
下はその時のログです。

BUILD FAILED (OS X 14.4.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/v6/jcq_s0rd58x3kph7trv7jfjw0000gn/T/python-build.20240401212257.5503
Results logged to /var/folders/v6/jcq_s0rd58x3kph7trv7jfjw0000gn/T/python-build.20240401212257.5503.log

Last 10 log lines:
      __locale_localeconv in _localemodule.o
      __locale_localeconv in _localemodule.o
      __locale_localeconv in _localemodule.o
  "_libintl_textdomain", referenced from:
      __locale_textdomain in _localemodule.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Programs/_freeze_module] Error 1
make: *** Waiting for unfinished jobs....
2 warnings generated.

解決した方法

この記事の方法で解決しました。

openssl, gettext, readline のアンインストール

–ignore-dependenciesオプションで依存関係を無視してアンインストールすることができます。

brew uninstall --ignore-dependencies openssl gettext readline

openssl、gettext、readline の再インストール

-x86_64 オプションは、特定のアーキテクチャでパッケージを再インストールするために使用されます。これにより、適切なアーキテクチャで再インストールされたことを確認できます。

 /usr/bin/arch -x86_64 brew install openssl gettext readline

pyenv のインストール。

ここでも-x86_64 オプションをつけています。

$ /usr/bin/arch -x86_64 pyenv install 3.11.2

これで成功しました。

しかし、この後 $python –version では comand not found になってしまい、
$python3 –versionでは設定ができるという状態になってしまいました。
この問題に関しては以下の記事で解説しています。

Mac $python と $python3 のバージョンを揃えたい

ちなみに最初に再インストールしたパッケージは、
opensslは、セキュリティ関連の機能を提供するライブラリ。

gettextは、多言語対応のプログラムを作成するためのツールセットです。主な目的は、プログラム内のテキストメッセージを翻訳可能な形式で管理することです。多言語対応のアプリケーションやライブラリで、ユーザーインターフェースのテキストをローカライズする際に使用されます。

readlineは、コマンドラインインターフェース(CLI)でのテキスト入力をサポートするライブラリです。主な機能は、ユーザーがコマンドラインで入力したテキストを編集、履歴を管理し、補完を提供することです。ターミナルやシェルでの対話的な入力を向上させるために使用されます。

この3つともプログラミングやシステム管理のコンテキストで広く使用されています。

他に試したダメだった方法

pyenv の再インストール

最初に試したものでしたが、上手くいきませんでした。

$ brew uninstall pyenv
$ brew install pyenv

.zshrc, .zprofile に下記を書いたのを何度も確認しましたが、install 時のエラーとは関係ないようです。

# pyenv settings
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

コマンドラインツールの再インストール

以下のコードを実行することはどのブログにも載っていたのですが、ダメでした。
Macのバージョンアップデートや再起動も併用しましたが上手くいきませんでした。

$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install 
投稿日: 2024年4月1日
カテゴリ: 未分類
タグ:
coiai

coiai

この記事もおすすめ

この記事を書いた会社

株式会社coiaiは、「想像できることを美しく実現」を掲げ、XR・Web・アプリ・システム開発およびDX支援を行う会社です。 創業2022年、東京都練馬区に本社を置き、要件のヒアリングからPoC(概念実証)、本番運用まで一貫して伴走します。 まずはお気軽にご相談ください。

商号株式会社 coiai創業2022年1月設立2025年1月23日資本金1,500,000円(設立時点)本社所在地東京都練馬区関町北 3-6-9代表者代表取締役 竹村 啓佑 / 代表取締役 服部 陽良

主なご相談内容

会社概要・役員紹介を見る

詳しい会社情報は会社概要ページでご覧いただけます。

資料請求・無料相談

導入要件のヒアリングからPoC、本番運用まで伴走します。まずはお気軽にご相談ください。

お問い合わせの前に 個人情報保護方針 をご確認ください。