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では使えなくなったようです。

以上。