LoginSignup
3

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-11-17
  • 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は無い)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3