Webエンジニアのメモ帳

技術的な話を中心に書いています。

MacでPythonが実行できなくなった場合の対処法

エラーの概要

MacPythonのプログラムを実行しようとしたところ、以下のエラーが発生。

$ python3
dyld[13268]: dyld cache '/System/Library/dyld/dyld_shared_cache_x86_64h' not loaded: syscall to map cache into shared region failed
dyld[13268]: Library not loaded: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
Referenced from: /Library/Frameworks/Python.framework/Versions/3.5/Resources/Python.app/Contents/MacOS/Python
Reason: tried: '/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation' (no such file), '/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation' (no such file)
zsh: abort python3

以前は動いていたプログラムなのに...と思って「python」コマンドだけを実行してみると同じエラーになり、Python自体の問題であることが分かりました。

解決方法

とりあえずPythonを再インストールしてみようと思ったところ、Xcodeのバージョンが古いとのエラーが発生。

そこで、まずは以下のコマンドを実行しXcodeのアップデートを行いました。

$ xcode-select --install

つぎに、以下のコマンドでPythonを再度インストール。

$ brew install --build-from-source python@3.9

後述しますがバージョンの問題との情報があったので、バージョンを明示的に指定しました。

そして、最後に以下のコマンドを実行することで解決しました。

$ brew link --overwrite python@3.9

エラーの原因

エラーについて調べたところ、不確かではありますが、Python3.6とPython3.9がインストールされていたのが原因との情報が多数ありました。

また、どうやらOSのアップデートを行うことで、この現象が発生してしまうようでした。

同じエラーで困っている方の助けになれば幸いです。