在 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-rtti
和LLVM_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 时出错
安装 PyGraphviz(Mac OS X、Anaconda)时出错