Подтвердить что ты не робот

Получение python Numba, работающего над Ubuntu 14.10 или Fedora 21 с помощью python 2.7

В последнее время у меня было разочаровывающее время, когда Python Numba работал над Ubuntu или Fedora Linux. Основная проблема заключалась в компиляции llvmlite. Что мне нужно для их правильной сборки?

4b9b3361

Ответ 1

Версии, которые я получил в конце, были 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.

Ответ 2

Благодаря @SevakPrime

Для 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

Обновлено 01/2016

Ответ 3

Для ubuntu 15.10

fisrt проверить, что 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

Ответ 4

Ubuntu 15.10 с использованием Python 3.4.3 +

llvmlite версии 0.9 или новее (я установил 0.10)

Как указано в llvmlite Страница GitHub:

Начиная с версии 0.9, llvmlite требует LLVM 3.7. Он не поддерживает более ранние или более поздние версии LLVM.

Мое решение, аналогичное тому, которое содержится в других ответах (но относительно python3):

Чтобы встретить зависимости: (например, 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

Попытка установить llvmlite из pip:

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

Ответ 5

В 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

Ответ 6

Изначально я не работал с комментариями здесь, а затем выяснял: 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.)

Ответ 7

Для Fedora 23

Сначала проверьте, что у вас есть последняя версия pip:

pip install -U pip
pip install -U wheel

Затем установите следующие 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

Затем загрузите и распакуйте llvmlite из репозитория GIT. Предположим, что вы загружаетесь в /usr/local/llvmlite, а затем:

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

Создайте источник, как описано здесь:

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    

Ответ 8

Для Ubuntu 16.04:

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

Ответ 9

Для 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

Ответ 10

Если кто-то еще недавно столкнулся с этой проблемой, согласно их странице github...

"llvmlite работает с Python 2.7 и Python 3.4 или выше. Начиная с версии 0.17.0, llvmlite требует LLVM 4.0. Он не поддерживает более ранние или более поздние версии LLVM.

У них есть таблица совместимости того, что работает с чем. Все последние пакеты могут быть получены из их веб-страницы.

Ответ 11

Для 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