Не удается обновить Scipy

Я пытаюсь обновить Scipy от 0.9.0 до 0.12.0. Я использую команду:

sudo pip install --upgrade scipy

и я получаю всевозможные ошибки, которые можно увидеть в файле pip.log здесь, и я, к сожалению, недостаточно подхожу к python, чтобы понять, что случилось. Любая помощь будет оценена.

Ответ 1

Все сообщения об ошибках совпадают: в вашей системе отсутствует BLAS (базовые подпрограммы линейной алгебры), или scipy не может ее найти. При установке пакетов из исходного кода в ubuntu, поскольку вы эффективно пытаетесь сделать с пипсом, одним из самых простых способов убедиться в том, что существуют зависимости, является команда

$ sudo apt-get build-dep python-scipy

который установит все пакеты, необходимые для сборки пакета python-scipy. В некоторых случаях вы можете столкнуться с проблемой, что версия исходного пакета, который вы пытаетесь установить, имеет разные зависимости, чем версия, включенная в ubuntu, но в вашем случае я думаю, что хорошие шансы на то, что вышеуказанной команды будет достаточно для извлечения BLAS для вас, включая заголовки.

Ответ 2

У меня была такая же проблема при обновлении от scipy 0.9 до 0.13.3, и я решил это, используя следующий answer и установив:

sudo apt-get install libblas-dev

sudo apt-get install liblapack-dev

sudo apt-get install gfortran

Ответ 3

Я нашел инструкции Адама Клейна для того, чтобы настроить scipy (и друзей) в виртуальной среде очень полезно.

Одна проблема, с которой я столкнулся (что, вероятно, было моей собственной ошибкой): после того, как все было сказано и сделано, я обнаружил, что импортировал scipy, еще загруженную версию 0.9.0, а не 0.12.0. Проблема заключалась в том, что мой sys.path находил старую версию системы перед новой версией. Исправление заключалось в том, чтобы сделать

/path/to/.virtualenvs/arthur/local/lib/python2.7/site-packages

появится перед

/usr/lib/python2.7/dist-packages

в sys.path. Если у вас установлено virtualenvwrapper, тогда вы можете добавить путь, используя

add2virtualenv /path/to/.virtualenvs/arthur/lib/python2.7/site-packages

Ответ 4

Убедитесь, что установлены libatlas-base-dev и libatlas-sse2-dev, похоже, что он не может найти вашу библиотеку атласа. Также см. Этот вопрос:

Требуется ли Python SciPy BLAS?