Сборка NumPy / Scipy для Python3 на Mac OS Lion - PullRequest
4 голосов
/ 08 марта 2012

Я не могу заставить Numpy или Scipy работать с Python3 на MAC OSX Lion.

Я успешно использовал pip для установки numpy, scipy и matplotlib, и они хорошо работают с Python2.7, но в Python3 ввод import numpy приводит к выводу No module named numpy. Я попытался загрузить исходный код напрямую, а затем запустить «python3 setup.py build», но я получаю различные предупреждения об ошибках, некоторые из которых выделены красным цветом и имеют отношение к fortran (например, «Не удалось найти исполняемый файл f95»). В конце появляется сообщение об ошибке «RuntimeError: Broken toolchain: не удается связать простую программу на C», и, похоже, оно связано с предыдущей строкой «sh: gcc-4.2: команда не найдена».

Сайт Scipy предполагает, что могут быть проблемы с компилятором c, но таких же проблем не возникало при использовании pip для установки на python2.7. Я следовал инструкциям на сайте относительно смены компилятора, но это не имело никакого значения.

Я также пытался установить из виртуальной среды:

mkvirtualenv -p python3.2 test1
pip install numpy

Но это не так с Command python setup.py egg_info failed with error code 1 in /Users/Eddy/.virtualenvs/test1/build/numpy

Я подумал о том, чтобы сделать python3 по умолчанию, а потом подумал, что установка pip может сработать, но я не знаю, как это сделать. У кого-нибудь есть предложения, как мне поступить? Спасибо.

Ответы [ 3 ]

4 голосов
/ 29 июля 2012

Я столкнулся с той же проблемой scipy / sparse / linalg / dsolve / superlumodule.c: 268: 9: ошибка: не пустая функция 'PyInit _superlu' должна возвращать значение [-Wreturn-type]

кто-то из списка рассылки scipy предложил следующее:

what happens if you change the line 268 ( in scipy/sparse/linalg/dsolve/_superlumodule.c)

from 
return;

to 
return NULL;

конечно же, это сработало

1 голос
/ 28 марта 2012

Я добился некоторого прогресса в решении этой проблемы при большой помощи Неда Дейли в списке рассылки pythonmac. Теперь я могу собрать numpy для python3, но scipy все равно не будет собираться.

Чтобы установить numpy: Сайт scipy (http://www.scipy.org/Installing_SciPy/Mac_OS_X) предлагает обойти проблему компилятора C с помощью трех типизированных команд, но их недостаточно, вам нужна еще одна:

$ export CC=clang
$ export CXX=clang
$ export FFLAGS=-ff2c
$ export LDSHARED='clang -bundle -undefined dynamic_lookup \
-arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -g'

После этого здание из источника должно работать. Подробнее см. здесь .

Проблема построения scipy: Я не знаю, в чем здесь проблема, опять же что-то с компилятором C, хотя я думаю. Вот сообщения об ошибках. Буду очень признателен за любые мысли по этому вопросу.

Спасибо, Эдди

сообщения об ошибках:

compiling C sources 

C compiler: clang -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk 

compile options: '-DNO_ATLAS_INFO=3 -DUSE_VENDOR_BLAS=1 -I/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include -I/Library/Frameworks/Python.framework/Versions/3.2/include/python3.2m -c' 
extra options: '-msse3' 
clang: scipy/sparse/linalg/dsolve/_superlumodule.c 
In file included from scipy/sparse/linalg/dsolve/_superlumodule.c:18: 
In file included from /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include/numpy/arrayobject.h:15: 
In file included from /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include/numpy/ndarrayobject.h:17: 
In file included from /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include/numpy/ndarraytypes.h:1972: 
/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include/numpy/npy_deprecated_api.h:11:2: warning: #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API" [-W#warnings] 
#warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API" 
 ^ 
scipy/sparse/linalg/dsolve/_superlumodule.c:268:9: error: non-void function 'PyInit__superlu' should return a value [-Wreturn-type] 
        return; 
        ^ 
1 warning and 1 error generated. 
In file included from scipy/sparse/linalg/dsolve/_superlumodule.c:18: 
In file included from /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include/numpy/arrayobject.h:15: 
In file included from /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include/numpy/ndarrayobject.h:17: 
In file included from /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include/numpy/ndarraytypes.h:1972: 
/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include/numpy/npy_deprecated_api.h:11:2: warning: #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API" [-W#warnings] 
#warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API" 
 ^ 
scipy/sparse/linalg/dsolve/_superlumodule.c:268:9: error: non-void function 'PyInit__superlu' should return a value [-Wreturn-type] 
        return; 
        ^ 
1 warning and 1 error generated. 
error: Command "clang -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -DNO_ATLAS_INFO=3 -DUSE_VENDOR_BLAS=1 -I/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include -I/Library/Frameworks/Python.framework/Versions/3.2/include/python3.2m -c scipy/sparse/linalg/dsolve/_superlumodule.c -o build/temp.macosx-10.6-intel-3.2/scipy/sparse/linalg/dsolve/_superlumodule.o -msse3" failed with exit status 1 
0 голосов
/ 30 мая 2012

У меня была эта проблема, и одна из них отсортировала ее - не знаю, какую, но я включаю обе для полноты:

  1. У меня было это в моем .bash_profile "export CC = gcc-4.2", которыйвероятно, был какой-то взлом из предыдущих проблем компиляции OS X, я удалил его.
  2. Установил автономный GCC отсюда https://github.com/kennethreitz/osx-gcc-installer/ поверх моей установки XCode

загрузилсяновое окно терминала и pip install numpy отлично работали

...