エラーの概要
MacでPythonのプログラムを実行しようとしたところ、以下のエラーが発生。
$ 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のアップデートを行うことで、この現象が発生してしまうようでした。
同じエラーで困っている方の助けになれば幸いです。