linux python-2.7 fedora numba ubuntu-14.10

linux - Conseguir Python Numba trabajando en Ubuntu 14.10 o Fedora 21 con Python 2.7



python-2.7 ubuntu-14.10 (10)

Para Ubuntu 16.04:

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

Recientemente, he tenido un momento frustrante para hacer que Python Numba trabaje en Ubuntu o Fedora Linux. El principal problema ha sido con la compilación de llvmlite. ¿Qué necesito instalar para que estos compilen correctamente?


Para Fedora 23

Primero compruebe que tiene la última versión de pip :

pip install -U pip pip install -U wheel

Luego instala los siguientes pacakges:

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

Luego descarga y descomprime llvmlite del repositorio GIT. Supongamos que está descargando a /usr/local/llvmlite luego:

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

Fuente de compilación como se describe here :

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

Actualice la sesión de la terminal e instale llvmlite incorporado

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

Finalmente descarga e instala numba por

pip install numba


Para ubuntu 15.10

primero compruebe que pip tiene la versión correcta:

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 cosas:

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

y luego con pip (advertencia llvmlite funciona solo con 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


Ubuntu 15.10 usando Python 3.4.3+

llvmlite versión 0.9 o posterior (instalé 0.10)

Como se indica en la página de GitHub de llvmlite :

A partir de la versión 0.9, llvmlite requiere LLVM 3.7. No es compatible con versiones anteriores o posteriores de LLVM.

Mi solución, similar a las de otras respuestas (pero con respecto a python3):

Para cumplir con las dependencias : (como libedit y bibliotecas de compresión)

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

llvm-3.7 (Otras respuestas incluyen el paquete llvm, que actualmente instala la versión 3.6, no funciona)

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

Intentando instalar llvmlite desde pip :

sudo pip3 install llvmlite

(Si funciona, sáltese esto) Si no funciona, como en mi caso, cree la última rama maestra de su repositorio:

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"

Finalmente, instale numba :

sudo pip3 install numba


En caso de que alguien más haya tenido recientemente este problema, de acuerdo con su página de github ...

"llvmlite funciona con Python 2.7 y Python 3.4 o superior. A partir de la versión 0.17.0, llvmlite requiere LLVM 4.0. No es compatible con versiones anteriores o posteriores de LLVM.

Tienen una tabla de compatibilidad de lo que funciona con qué. Todos los paquetes recientes se pueden obtener de su página web.


Gracias a @SevakPrime

Para 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

Actualizado 01/2016


Hubo un cambio en llvmlite. Desde la versión llvmlite-0.6.0 llvm-3.6 es obligatorio. La instalación correcta es ahora:

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


Inicialmente no funcionó con los comentarios aquí y luego descubrí: 1. Mientras tanto, llvm 3.6 en lugar de 3.5 es necesario y 2. Para mí, la variable de env LLVM_CONFIG no funciona. Así que instalé Numba así:

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

(Probé en Ubuntu 14.04)


Las versiones que obtuve trabajando al final fueron numba-0.17.0 (también 0.18.2) y llvmlite-0.2.2 (también 0.4.0). Aquí están las dependencias relevantes y las opciones de configuración en Ubuntu y Fedora.

Para 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

Para 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

Para 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

Para 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

Nota: esto fue publicado originalmente por el OP en la pregunta: se movió aquí para mantener esto en forma para SO.


Para Ubuntu 16.04

sudo pip3 install llvmlite

solicita explícitamente la versión 3.9 de llvm.

Pero en los paquetes oficiales, hay (actualmente) solo llvm hasta la versión 3.8. La solución es instalarlo así

Luego puede ejecutar LLVM_CONFIG=/usr/bin/llvm-config-3.9 sudo pip3 install llvmlite