我最终成功运行的版本是numba-0.17.0(也可以是0.18.2)和llvmlite-0.2.2(也可以是0.4.0)。以下是在Ubuntu和Fedora上的相关依赖项和配置选项。
对于Ubuntu 14.04(Trusty)
sudo apt-get install zlib1g zlib1g-dev libedit libedit-dev llvm-3.8 llvm-3.8-dev llvm-dev
sudo pip install enum34 funcsigs
LLVM_CONFIG=/usr/bin/llvm-config-3.8 pip install llvmlite --user
LLVM_CONFIG=/usr/bin/llvm-config-3.8 pip install numba --user
针对Ubuntu 14.10版本
sudo apt-get install zlib1g zlib1g-dev libedit libedit-dev llvm-3.5 llvm-3.5-dev llvm-dev
pip install enum34 funcsigs
LLVM_CONFIG=/usr/bin/llvm-config-3.5 pip install llvmlite
LLVM_CONFIG=/usr/bin/llvm-config-3.5 pip install numba
对于 Ubuntu 15.04
sudo apt-get install zlib1g zlib1g-dev libedit2 libedit-dev llvm-3.6 llvm-3.6-dev llvm-dev
pip install enum34 funcsigs
LLVM_CONFIG=/usr/bin/llvm-config-3.6 pip install llvmlite
LLVM_CONFIG=/usr/bin/llvm-config-3.6 pip install numba
针对Fedora 21版本
yum install zlib zlib-devel libstdc++-devel libstdc++ libstdc++-static llvm-3.5.0 llvm-devel-3.5.0 libedit libedit-devel
pip install enum34 funcsigs
LLVM_CONFIG=/usr/bin/llvm-config pip install llvmlite
LLVM_CONFIG=/usr/bin/llvm-config pip install numba
注意:这是最初由问题的发布者发布的,已移至此处以使其适用于SO。
首先检查pip是否是正确版本:
pip install --upgrade pip
pip install --upgrade wheel
要求pip版本不低于8.1
$ pip --version
pip 8.1.1 from
$ wheel version
wheel 0.29.0
安装LLVM:
使用apt-get命令进行安装。sudo apt-get install zlib1g zlib1g-dev libedit2 libedit-dev
sudo apt-get install llvm-3.7 llvm-3.7-dev llvm-dev
然后使用pip安装(警告:llvmlite仅与llvm 3.7兼容):
pip install enum34 funcsigs
LLVM_CONFIG=/usr/bin/llvm-config-3.7 pip install llvmlite
LLVM_CONFIG=/usr/bin/llvm-config-3.7 pip install numba
llvmlite版本必须是0.9或更高(我安装了0.10)
从0.9版本开始,llvmlite需要LLVM 3.7。它不支持早期或后期的LLVM版本。
我的解决方案与其他答案中的相似(但涉及到python3):
为满足依赖关系(例如libedit
和压缩库):
sudo apt-get install zlib1g zlib1g-dev libedit2 libedit-dev
sudo pip3 install enum34 funcsigs
llvm-3.7(其他回答中包含的llvm软件包现在安装的是版本3.6,无法正常工作)
sudo apt-get install llvm-3.7 llvm-3.7-dev llvm-3.7-runtime llvm-3.7-tools
尝试从 pip 安装 llvmlite:
sudo pip3 install llvmlite
(如果它起作用了,跳过这一步) 如果像我这样不起作用,可以从他们的代码库构建最新的主分支:
git clone https://github.com/numba/llvmlite
cd llvmlite/
sudo ch -c "LLVM_CONFIG=/usr/bin/config-3.7 python3 setup.py build
sudo sh -c "LLVM_CONFIG=/usr/bin/llvm-config-3.7 python3 setup.py install"
最后,安装numba:
sudo pip3 install numba
pip
和python
,而不是pip3
和python3
。抱歉格式不好。我认为它可以为未来用户的故障排除提供一些视觉帮助。同时,我找到了这个指南来改善我的体验(http://meta.stackexchange.com/questions/18614/style-guide-for-questions-and-answers)。(第一次回答问题) - risantosch
在例子中应该改为 sh
。 - Kusalanandasudo sh -c "LLVM..."
而不是 sudo ch -c "LLVM..."
。 - michaelllvmlite 发生了变化。自 llvmlite-0.6.0 版本起,需要安装 llvm-3.6。正确的安装方式如下:
sudo apt-get install zlib1g zlib1g-dev libedit2 libedit-dev llvm-3.6 llvm-3.6-dev llvm-dev
pip install enum34 funcsigs
LLVM_CONFIG=/usr/bin/llvm-config-3.6 pip install llvmlite
LLVM_CONFIG=/usr/bin/llvm-config-3.6 pip install numba
起初我没有在这里的评论中得到解决,后来我发现:1.需要使用llvm 3.6而不是3.5,2.对我来说,LLVM_CONFIG
环境变量无法正常工作。因此我像这样安装了numba:
sudo apt-get install zlib1g zlib1g-dev libedit-dev llvm-3.6 llvm-3.6-dev llvm-3.6-runtime llvm-3.6-tools
sudo pip install enum34 funcsigs
sudo mv /usr/bin/llvm-config /usr/bin/llvm-config_bak
sudo ln -s /usr/bin/llvm-config-3.6 /usr/bin/llvm-config
sudo pip install llvmlite
sudo pip install numba
sudo mv /usr/bin/llvm-config_bak /usr/bin/llvm-config
(在Ubuntu 14.04上尝试过。)
pip
安装llvmlite
时,它都会失败并显示error: option --single-version-externally-managed not recognized
。有什么想法吗?我已经尝试了4个小时来安装numba
,但一直没有成功。 - maurizio首先检查您是否拥有最新的pip
版本:
pip install -U pip
pip install -U wheel
dnf install zlib zlib-devel libstdc++-devel libstdc++ libstdc++-static llvm-3.7.0 llvm-devel-3.7.0 libedit libedit-devel
pip install enum34 funcsigs
然后从GIT存储库下载并解压llvmlite
。假设您正在下载到/usr/local/llvmlite
,那么:
git clone <address-for-llvmlite.git> /usr/local/llvmlite
cd /usr/local/llvmlite
按照此处所述构建源代码:
LLVM_CONFIG=/usr/bin/llvm-config python setupy.py build
刷新终端会话并安装构建好的llvmlite
reset
LLVM_CONFIG=/usr/bin/llvm-config python setup.py install
numba
:pip install numba
LLVM_CONFIG=/usr/bin/llvm-config-3.7 pip install llvmlite
对于Ubuntu 14.04,我使用以下方法进行了安装:
export LDFLAGS="-std=gnu++11 -fPIC"
LLVM_CONFIG=/usr/bin/llvm-config-7 pip install llvmlite
LLVM_CONFIG=/usr/bin/llvm-config-7 pip install numba
对于 Ubuntu 16.04
sudo pip3 install llvmlite
明确要求使用llvm版本3.9。
但在官方软件包中,目前只有llvm版本3.8。 解决方法是像this这样安装它
然后你可以运行LLVM_CONFIG=/usr/bin/llvm-config-3.9 sudo pip3 install llvmlite
如果最近有其他人遇到了这个问题,根据他们的github页面...
"llvmlite适用于Python 2.7和Python 3.4或更高版本。从版本0.17.0开始,llvmlite需要LLVM 4.0。它不支持早期或更高版本的LLVM。
他们有一个兼容性表格,列出了哪些软件包与哪些软件包兼容。所有最新的软件包都可以从他们的网页获取。