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