macOSでのnumbaインストール時のエラー解決


  • 2020年2月時点
  • OS: macOS Big Sur 11.2.1
  • CPU: Intelの方
  • Python: 3.9

以下のエラーが再現する条件

Pythonのバージョンが3.9であり、numbaのバージョン0.50.xをインストールしようとしてた場合に以下エラーが発生するようです。

0.50.x以前はPython3.9をサポートしてなかったためです。

0.51.x以降をインストールする場合はpip3 install numbaのみで大丈夫です。

Pythonのバージョンが3.9よりも前の場合でもpip3 install numbaで大丈夫だと思います。

エラー解決方法

まず先に解決方法です。上記の条件を満たしていた場合、多分これでいけます。

brew install llvm@9
export LLVM_CONFIG=/usr/local/Cellar/llvm@9/9.0.1_2/bin/llvm-config
pip3 install numba==0.50.1

numbaインストール時エラー例

llvm-configのパスが不明

RuntimeError: llvm-config failed executing, please point LLVM_CONFIG to the path for llvm-config

エラー概要: llvm-configの実行に失敗。LLVM_CONFIGにパスを設定してください。

LLVMインストール時に「llvm-config」という実行ファイルがインストールされているのでそのパスを環境変数LLVM_CONFIGに設定すればOK。

下記コマンドで環境変数を設定してください。(各々のllvm-configのパスをLLVM_CONFIGに設定してください)

export LLVM_CONFIG=/usr/local/Cellar/llvm@9/9.0.1_2/bin/llvm-config

私のllvm-configは下記パスだった。

/usr/local/Cellar/llvm@9/9.0.1_2/bin/llvm-config

パスが不明の場合

brewでLLVMをインストールした場合、usr/local/opt/にエイリアスが作成されているので、そこからたどる(Finder > 移動 > コンピュータでルートディレクトリを見れる。隠しフォルダの表示の仕方は各自調べてください)。

目的のものが見つかれば、右クリックしてoptionキーを押せば「"llvm-config"のパス名をコピー」という項目が出るのでそれをクリックしてコピーできる。

LLVMのバージョン違い

RuntimeError: Building llvmlite requires LLVM 10.0.x or 9.0.x, got '11.0.0'. Be sure to set LLVM_CONFIG to the right executable path.
  Read the documentation at http://llvmlite.pydata.org/ for more information about building llvmlite.

エラー概要: llvmliteのビルドは LLVM 10.0.x か LLVM 9.0.x を要求しているが11.0.0が見つかった。LLVM_CONFIGに正しい実行できるパスを設定してください。

brewでLLVMをインストールする際brew install llvmとすると、最新バージョンがインストールされる。2020年11月時点ではLLVM 11.0.0がインストールされていた。brewでパッケージをインストールする際は@(アットマーク)でバージョンを指定できるのでbrew install llvm@9でバージョン9のLLVMをインストールする。(2020年2月時点ではllvm@10は無い)