macOS Catalina上のPyMC3で「fatal error: 'stdio.h' file not found.」エラーとなったので対処方法メモ
macOS Catalinaで、PyMC3を動かそうとしたら、
「fatal error: 'stdio.h' file not found.」というエラーが出たので、
調べた対処方法のメモを残しておきます。
わたしの環境:
- macOS Catalina version 10.15.7
- anaconda3-2020.02
エラーが出るまでの流れ
conda install で pymc3 をインスト−ルする。
conda install -c conda-forge pymc3
pymc3(細かく言うとtheano)を使う処理を実行する。
「fatal error: 'stdio.h' file not found.」というエラーが出る。
対処方法
以下のように環境変数を設定してから、該当処理を実行する。
export CPATH=`xcrun --show-sdk-path`/usr/include
# ~/.zshrc
などに追記して置くと良い。
エラー原因
原因はエラーメッセージの通り、Cのヘッダファイルが見つからないことなので。
対処方法で示したように、環境変数でインクルードファイルのパスを教えてあげれば良い。
参考サイト
Theano lazylinker broken in macOS Catalina | anaconda-issues | github.com
https://github.com/ContinuumIO/anaconda-issues/issues/11359
/usr/include missing on macOS Catalina (with Xcode 11)
https://apple.stackexchange.com/questions/372032/usr-include-missing-on-macos-catalina-with-xcode-11
# 上記のGitHub Issueでも触れられていますが。
# Mojaveでも同じエラーが出るようですが、
# Mojaveでの対処方法がCatalinaでは使えなくなったようです。
以上。