как установить Cython на лев - PullRequest
       23

как установить Cython на лев

3 голосов
/ 25 февраля 2012

Я пытаюсь установить Cython на Lion, но вот что я получаю:

$ export CC=gcc-4.2
$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
$ python setup.py install 
error: command 'gcc-4.2' failed with exit status 255

Я не уверен, что llvm-gcc прав, я установил Xcode4.1, но он все равно не работает.

Кто-нибудь знает, как это исправить?

Ответы [ 2 ]

7 голосов
/ 01 марта 2012

Вам необходимо настроить как минимум переменные окружения PATH и LD_LIBRARY_PATH.

Переменная среды PATH также должна включать /Developer/usr/bin. Я написал файл ~ / .bash_devenv, который я использую каждый раз, когда хочу скомпилировать код C на моем Mac Pro в середине 2010 года (с Snow Leopard до Lion и Lion Server).

$ cat ~/.bash_devenv

ARCHFLAGS="-isysroot /Developer/SDKs/MacOSX10.7.sdk -mmacosx-version-min=10.7"
LDFLAGS="-L/Developer/SDKs/MacOSX10.7.sdk/usr/lib -L/usr/lib"
CFLAGS="-I/Developer/SDKs/MacOSX10.7.sdk/usr/include -I/usr/include -O2 -pipe -fomit-frame-pointer"
CPPFLAGS="-I/usr/include/ -I/Developer/SDKs/MacOSX10.7.sdk/usr/include"
LD_LIBRARY_PATH="/Developer/SDKs/MacOSX10.7.sdk/usr/lib/gcc/i686-apple-darwin11/4.2.1/x86_64/:$LD_LIBRARY_PATH"

case $1 in
    32)
        export LDFLAGS="-arch i386 -arch x86_64 $LDFLAGS"
        export FFLAGS="-m i386 -m x86_64"
        export CFLAGS="-arch i386 -arch x86_64 $CFLAGS"
        export CPPFLAGS="-arch i386 -arch x86_64 $CPPFLAGS"
        export LD_LIBRARY_PATH="/Developer/SDKs/MacOSX10.7.sdk/usr/lib/gcc/i686-apple-darwin11/4.2.1/:$LD_LIBRARY_PATH"
    ;;
    64)
        export LDFLAGS="-arch x86_64 $LDFLAGS"
        export FFLAGS="-m x86_64"
        export CFLAGS="-arch x86_64 $CFLAGS"
        export CPPFLAGS="$CPPFLAGS"
        export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/Developer/SDKs/MacOSX10.7.sdk/usr/lib/gcc/i686-apple-darwin11/4.2.1/"
    ;;
    *)
        export LDFLAGS="$LDFLAGS"
        export FFLAGS="-m x86_64"
        export CFLAGS="-L/Developer/SDKs/MacOSX10.7.sdk/usr/lib -L/usr/lib -arch x86_64 $CFLAGS"
        export CPPFLAGS="$CPPFLAGS"
        export LD_LIBRARY_PATH="/usr/lib:/Developer/SDKs/MacOSX10.7.sdk/usr/lib:$LD_LIBRARY_PATH"
    ;;
esac    

### GLOBALS ###

export PATH="/Developer/usr/bin:/Developer/usr/local/bin:$PATH"


Некоторые из CFLAGS, вероятно, являются избыточными (директивы -I / path / to / dir), но в основном это должно быть актуально для любой машины с Lion и XCode.

Я только что успешно скомпилировал Cython на Lion. Это провалилось, хотя, прежде чем я:
1) Набрал команду source ~/.bash_devenv
2) Использовал пользовательскую версию Python, которую я скомпилировал вручную.
Т.е. компиляция cython завершается неудачно при установке Python по умолчанию, так как он не может найти Python.h. Если вы знаете, где найти системный Python.h и хотите использовать системный Python (не рекомендуется, если вы хотите создать свою собственную numpy или другие библиотеки), добавьте каталог, содержащий Python.h, в CPPFLAGS; например CPPFLAGS+=" -I/usr/local/include".

В качестве альтернативы, загрузите дистрибутив Enthought на Python, который включает в себя Cython, а также множество других полезных библиотек, включая открытый исходный код, который они разработали внутри ( cwrap - это один из известных мне модулей, разработанный для работать рука об руку с Cython).

Сейф

0 голосов
/ 11 апреля 2013

sudo CC = llvm-gcc-4.2 python setup.py install

отлично сработало для меня! нашел его на

http://comments.gmane.org/gmane.comp.python.cython.user/8461

Best!

...