让python Numba使用python 2.7在Ubuntu 14.10或Fedora 21上运行

问题描述 投票:26回答:10

最近,我有一个令人沮丧的时间让python Numba在Ubuntu或Fedora Linux上工作。主要问题在于llvmlite的编译。我需要安装什么才能正确编译?

linux python-2.7 fedora numba ubuntu-14.10
10个回答
24
投票

我最后工作的版本是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

注意:这最初由OP在问题中发布 - 移动到这里以保持适合SO。


0
投票

对于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

4
投票

对于ubuntu 15.10

首先检查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

apt-get install llvm stuff:

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

3
投票

Ubuntu 15.10使用Python 3.4.3+

llvmlite 0.9或更新版本(我安装了0.10)

llvmlite's GitHub Page所述:

从版本0.9开始,llvmlite需要LLVM 3.7。它不支持早期或更高版本的LLVM。

我的解决方案,类似于其他答案中的解决方案(但是关于python3):

为了满足the dependencies :(像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

2
投票

llvmlite有变化。由于版本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
投票

最初我没有得到它在这里的评论工作,然后我发现:1。同时需要llvm 3.6而不是3.5和2.对我来说LLVM_CONFIG env变量不起作用。所以我安装了这样的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。)


1
投票

For Fedora 23

首先检查您是否拥有最新的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

here所述构建源代码:

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    

0
投票

For Ubuntu 16.04:

LLVM_CONFIG=/usr/bin/llvm-config-3.7 pip install llvmlite

0
投票

对于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


0
投票

如果其他人最近有这个问题,根据他们的github page...

“llvmlite适用于Python 2.7和Python 3.4或更高版本。从版本0.17.0开始,llvmlite需要LLVM 4.0。它不支持早期或更高版本的LLVM。

他们有一个与什么有效的兼容性表。所有最近的套餐都可以从their webpage.获得

© www.soinside.com 2019 - 2024. All rights reserved.