Error installing Numba on OS X

2019-02-06 13:44发布

问题:

I'm unable to install Numba (via pip) on my OS X system.

I'm using

  • Python: 2.7.11 (Homebrew)
  • pip: 8.1.1
  • setuptools: 20.6.7
  • OS X: 10.11.4 (x86_64)
  • Xcode: 7.3
  • Xcode CLT: 7.3.0.0.1.1457485338
  • Clang: 7.3 build 703

and have installed the prerequisites (I think) with

brew install llvm
git clone https://github.com/numba/llvmlite
cd llvmlite
LLVM_CONFIG=/usr/local/opt/llvm/bin/llvm-config  python setup.py install
cd ..
rm -rf llvmlite

and also tried

brew install llvm
brew link --force llvm  # later: brew unlink llvm
cd /usr/local/Cellar/llvm/X.X.X/include/llvm/Config/ # X.X.X = 3.6.2
ln -s llvm-config.h config.h

but I then

pip install numba

gives

  Failed building wheel for llvmlite
  Running setup.py clean for llvmlite
Successfully built numba
Failed to build llvmlite
Installing collected packages: llvmlite, numba
  Running setup.py install for llvmlite ... 
  [...]        
    error: option --single-version-externally-managed not recognized

    ----------------------------------------
Command "/usr/local/opt/python/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/pip-build-MY_vtC/llvmlite/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/pip-yoGGZY-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/pip-build-MY_vtC/llvmlite/

I'm stumped about how to proceed (without Conda!) and wonder if there's some simple fix I'm missing.

回答1:

Here's what worked for me (with Homebrew Python on OS X 10.11.4):

brew install homebrew/versions/llvm37 --with-rtti
git clone https://github.com/numba/llvmlite
cd llvmlite
LLVM_CONFIG=/usr/local/Cellar/llvm37/3.7.1/bin/llvm-config-3.7 python setup.py install
LLVM_CONFIG=/usr/local/Cellar/llvm37/3.7.1/bin/llvm-config-3.7 pip install numba
rm -rf llvmlite


回答2:

Or you can use homebrew:

brew install homebrew/python/numba


回答3:

The easiest way is to install miniconda than do:

conda install numba

Works perfectly on Mac (and other platforms).

I would recommend to create a new environment first:

conda create -n my_numba_env

activate it:

source activate my_numba_env

and install numba:

conda install numba