
pyenvでinstallができない
3/25/2024
pyenv で python をインストールしたときに、インストールに失敗していたので、原因調査をしたので記事にします。
前提
-
MacBook Air(M2 プロセッサ)
-
anyenv で pyenv をインストール
-
brew を利用(PATH が通っている)
エラー
anyenv で pyenv をインストールしたあと、pyenv install 3.11.8 を実行すると以下のエラーが発生してしまい、インストールができませんでした。
ld: symbol(s) not found for architecture arm64
ld: symbol(s) not found for architecture arm64
clang: clang: error: error: linker command failed with exit code 1 (use -v to see invocation)
原因調査
-
brew update, upgrade で更新プログラムがないか。
→ こちらは更新したが、変化なし。 -
Apple Silicon に対応した、brew が入っているか。
→Intel 系のインストーラとの違いがなかった。 -
pyenv は、anyenv からインストールされているものが利用されているか
(brew 経由でインストールされたものが利用されていないか
→ こちらは、anyenv から pyenv をアンインストールしたところで、pyenv コマンドが動いたため、brew でインストールしたものが使われてそう。(ここが怪しい。) -
MacBook のデータ移行(Intel プロセッサ)を行った影響がないか
→ こちらも、brew 関係でエラーを発生させそう。
どうやら 3 番,4 番が怪しそうという結果になりました。
解決策
-
pyenv の削除
brew でインストールしたものを削除します。
$ brew uninstall pyenv
-
anyenv の削除
anyenv をアンインストールします。
$ brew uninstall anyenv
-
brew の削除
brew を削除します
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
-
brew をインストールします
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
anyenv をインストールします
$ brew install anyenv
-
pyenv をインストールします
$ anyenv install pyenv
-
python3.11.8 を試しにインストールします。
$ pyenv install 3.11.8
上記で完了ですお疲れ様です。
IntelMac から Apple Silicon へ移行して、pyenv で新たにインストールできなくなった人は試してみるとよいかと思います。