В последнее время у меня было разочаровывающее время, когда Python Numba работал над Ubuntu или Fedora Linux. Основная проблема заключалась в компиляции llvmlite. Что мне нужно для их правильной сборки?
Получение python Numba, работающего над Ubuntu 14.10 или Fedora 21 с помощью python 2.7
Ответ 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