web-dev-qa-db-fra.com

Faire fonctionner python Numba sur Ubuntu 14.10 ou Fedora 21 avec Python 2.7

Récemment, j’ai eu un temps frustrant pour que python Numba fonctionne sur Ubuntu ou Fedora Linux. Le problème principal a été la compilation de llvmlite. Que dois-je installer pour que ceux-ci soient correctement compilés?

26
mettw

Les versions que j'ai utilisées à la fin étaient numba-0.17.0 (également 0.18.2) et llvmlite-0.2.2 (également 0.4.0). Voici les dépendances pertinentes et les options de configuration sous Ubuntu et Fedora.

Pour 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

Pour 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

Pour 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

Pour 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

Remarque: ceci a été posté à l'origine par le PO dans la question — déplacé ici pour que cela reste correct pour SO.

24
Alexis King

Ubuntu 15.10 utilisant Python 3.4.3+

llvmlite version 0.9 ou plus récente (j'ai installé 0.10)

Comme indiqué dans La page GitHub de llvmlite :

À partir de la version 0.9, llvmlite requiert LLVM 3.7. Il ne prend pas en charge les versions antérieures ou ultérieures de LLVM.

Ma solution, semblable à celles d'autres réponses (mais concernant python3):

Pour rencontrer les dépendances : (comme libedit et les bibliothèques de compression)

Sudo apt-get install zlib1g zlib1g-dev libedit2 libedit-dev
Sudo pip3 install enum34 funcsigs

llvm-3.7 (les autres réponses incluaient le paquet llvm, qui installe actuellement la version 3.6, ne fonctionne pas)

Sudo apt-get install llvm-3.7 llvm-3.7-dev llvm-3.7-runtime llvm-3.7-tools

Essayer d'installer llvmlite à partir de pip:

Sudo pip3 install llvmlite

(Si cela fonctionne, ignorez cela)} Si cela ne fonctionne pas, comme dans mon cas, construisez la dernière branche principale à partir de leur référentiel:

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"

Enfin, installez numba:

Sudo pip3 install numba
3
risantos

Pour Ubuntu 15.10

premier contrôle que pip a la bonne version:

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 installe des trucs llvm:

Sudo apt-get install zlib1g zlib1g-dev libedit2 libedit-dev
Sudo apt-get install llvm-3.7 llvm-3.7-dev llvm-dev

puis avec pip (attention, llvmlite ne fonctionne qu'avec 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
user3313834

Il y avait un changement dans llvmlite. Depuis la version llvmlite-0.6.0, llvm-3.6 est requis. L'installation correcte est maintenant:

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
2
Marko Springfeldt

Pour Fedora 23

Commencez par vérifier que vous avez la dernière version pip:

pip install -U pip
pip install -U wheel

Ensuite, installez les paquetages suivants:

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

Puis téléchargez et décompressez llvmlite à partir du référentiel GIT. Supposons que vous téléchargiez vers /usr/local/llvmlite puis:

git clone <address-for-llvmlite.git> /usr/local/llvmlite
cd /usr/local/llvmlite

Construire la source comme décrit ici :

LLVM_CONFIG=/usr/bin/llvm-config python setupy.py build

Actualiser la session de terminal et installer la version llvmlite construite

reset
LLVM_CONFIG=/usr/bin/llvm-config python setup.py install

Enfin télécharger et installer numba par

pip install numba    
1
maurizio

Au début, je n’avais pas compris les commentaires ici, puis j’ai découvert: 1. Entre-temps, il est nécessaire de disposer de 3.6 au lieu de 3.5 et 2. pour moi, la variable LLVM_CONFIG env ne fonctionne pas. J'ai donc installé numba comme ceci:

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

(Essayé sur Ubuntu 14.04.)

1
Frank Zalkow

Pour Ubuntu 16.04:

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

Au cas où quelqu'un d'autre aurait eu ce problème récemment, selon leur page github ...

"llvmlite fonctionne avec Python 2.7 et Python 3.4 ou version supérieure . Depuis la version 0.17.0, llvmlite nécessite LLVM 4.0. Il ne prend pas en charge les versions antérieures ou ultérieures de LLVM.

Ils ont un tableau de compatibilité de ce qui fonctionne avec quoi. Tous les paquets récents peuvent être obtenus à partir de leur page Web.

0
Tyler Heldreth

Pour Ubuntu 16.04

Sudo pip3 install llvmlite

demande explicitement llvm version 3.9.

Mais dans les paquets officiels, il n’existe (actuellement) que jusqu’à la version 3.8 ..__ La solution consiste à l’installer comme this

Ensuite, vous pouvez exécuter LLVM_CONFIG=/usr/bin/llvm-config-3.9 Sudo pip3 install llvmlite

0
lhk