在 OS X 上安装 Numba 时出错

Posted

技术标签:

【中文标题】在 OS X 上安装 Numba 时出错【英文标题】:Error installing Numba on OS X 【发布时间】:2016-07-22 23:58:31 【问题描述】:

我无法在我的 OS X 系统上安装 Numba(通过 pip)。

我正在使用

Python:2.7.11(自制) 点数:8.1.1 设置工具:20.6.7 OS X:10.11.4 (x86_64) Xcode:7.3 Xcode CLT:7.3.0.0.1.1457485338 Clang:7.3 构建 703

并且已经安装了先决条件(我认为)

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

也试过了

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

然后我

pip install numba

给予

  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/

我对如何继续(没有 Conda!)感到困惑,想知道我是否缺少一些简单的修复。

【问题讨论】:

你试过with the --egg option吗? @alecxe:同样的错误。并且没有理由应该是最新设置工具的问题,不是吗? 你试过 conda 吗?它通常更简单。 @B.M.:这从文档中很清楚,但我不使用 Conda(目前)并且需要没有它的解决方案。 如错误所说,您可以尝试设置LLVM_CONFIG。如果你是通过 homebrew 安装的 llvm,默认路径是/usr/local/opt/llvm/bin/llvm-config 【参考方案1】:

这对我有用(在 OS X 10.11.4 上使用 Homebrew Python):

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

【讨论】:

就我而言,它说需要 llvm 3.8.x。所以我使用了brew install homebrew/versions/llvm38 --with-rttiLLVM_CONFIG=/usr/local/Cellar/llvm38/3.8.0/bin/llvm-config-3.8 python setup.py install 等。但是解决方案是一样的,谢谢。【参考方案2】:

或者你可以使用自制软件:

brew install homebrew/python/numba

【讨论】:

【参考方案3】:

最简单的方法是安装miniconda而不是这样做:

conda install numba

在 Mac(和其他平台)上完美运行。

我建议先创建一个新环境:

conda create -n my_numba_env

激活它:

source activate my_numba_env

并安装 numba:

conda install numba

【讨论】:

没有康达。 mimonda 能否与 Homebrew(和 Homebrew Python?)以及使用 (Homebrew) pip 安装的 Anaconda 堆栈的一部分一起工作? 我知道我总是可以创建新环境来解决任何安装问题。在这些情况下,这不是(我认为)问题。 我发现创建一个新环境是一段更安全的时光。不用担心破坏任何东西。支付几 MB 的磁盘空间是一个很好的折衷方案。 是的,这是众所周知的。但它设置了无限的倒退。如果解决方案涉及 Conda(如上所述)或设置新环境(解决每个问题),该怎么办? Can I install Conda (as miniconda) inside a regular virtualenv 并期望它将所有东西都留在 virtualenv 之外?

以上是关于在 OS X 上安装 Numba 时出错的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac OS X Lion 上安装 pymssql 时出错

在 OS X 上使用 hdiutil 分离卷时出错

llvmlite 安装失败。构建 llvmlite 时出错

安装 PyGraphviz(Mac OS X、Anaconda)时出错

Rails:在 OS X 上安装 PG gem - 无法构建本机扩展

尝试使用 numba 循环 numpy 数组时出错