Obtenir python Numba sur Ubuntu 14.10 ou Fedora 21 sur python 2.7

Récemment, j’ai eu du mal à faire fonctionner python Numba sur Ubuntu ou Fedora Linux. Le principal problème a été la compilation de llvmlite. De quoi ai-je besoin pour les comstackr correctement?

Les versions que je travaillais à la fin étaient numba-0.17.0 (également 0.18.2) et llvmlite-0.2.2 (aussi 0.4.0). Voici les dépendances et options de configuration pertinentes sur 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 

Note: ceci a été initialement publié par le PO dans la question-déplacé ici pour garder cela pour SO.

Merci à @SevakPrime

Pour Ubuntu 14.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 

Mise à jour 01/2016

Ubuntu 15.10 en 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 :

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

Ma solution, similaire à celles des autres réponses (mais concernant python3):

Pour répondre aux dépendances : (comme libedit et les librairies de compression)

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

llvm-3.7 (Autres réponses incluses dans le package 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, passez cette étape) Si cela ne fonctionne pas, comme dans mon cas, comstackz la dernière twig principale 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 

Pour l’ubuntu 15.10

Vérifiez d’abord que pip a la version correcte:

 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 

et ensuite avec pip (avertissement llvmlite fonctionne uniquement 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 

Il y avait un changement dans llvmlite. Depuis la version llvmlite-0.6.0 llvm-3.6 est requirejs. 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 

Au début, je ne l’ai pas fait fonctionner avec les commentaires ici et j’ai découvert: 1. entre-temps, llvm 3.6 au lieu de 3.5 est nécessaire et 2. pour moi la variable env LLVM_CONFIG 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.)

Pour Fedora 23

Vérifiez d’abord que vous avez la dernière version de pip :

 pip install -U pip pip install -U wheel 

Installez ensuite les paquets 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 

Ensuite, téléchargez et décompressez llvmlite partir du référentiel GIT. Supposons que vous téléchargez sur /usr/local/llvmlite alors:

 git clone 
/usr/local/llvmlite cd /usr/local/llvmlite

Construisez la source comme décrit ici :

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

Actualiser la session de terminal et installer llvmlite construit

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

Enfin, téléchargez et installez numba by

 pip install numba 

Pour Ubuntu 16.04:

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

Pour Ubuntu 16.04

 sudo pip3 install llvmlite 

demande explicitement llvm version 3.9.

Mais dans les paquets officiels, il n’y a (actuellement) que llvm jusqu’à la version 3.8. La solution est de l’installer comme ça

Ensuite, vous pouvez lancer LLVM_CONFIG=/usr/bin/llvm-config-3.9 sudo pip3 install llvmlite

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

“llvmlite fonctionne avec Python 2.7 et Python 3.4 ou supérieur. A partir de la version 0.17.0, llvmlite requirejs 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.