3

私はライオンにcythonをインストールしようとしていますが、これは私が得るものです:

$ 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をインストールしましたが、それでも機能しません。

誰もがこれを修正する方法を知っていますか?

4

2 に答える 2

7

少なくともPATHおよびLD_LIBRARY_PATH環境変数を調整する必要があります。

PATH環境変数にもを含める必要があります/Developer/usr/bin。〜/ .bash_devenvファイルを作成しました。このファイルは、2010年半ばにMac ProでCコードをコンパイルするたびに入手します(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)コマンドを入力しました。2 source ~/.bash_devenv
)手動でコンパイルしたPythonのカスタムバージョンを使用しました。
  つまり、cythonのコンパイルは、Python.hが見つからないため、Pythonのデフォルトのインストールでは失敗します。システムPython.hの場所がわかっていて、システムPythonを使用する場合(独自のnumpyまたは他のライブラリを構築する場合はお勧めしません)、Python.hを含むディレクトリをCPPFLAGSに追加します。例:CPPFLAGS+=" -I/usr/local/include"

または、cythonを含むEnthoughtのPythonディストリビューション、および内部で開発したオープンソースコードを含む他の多くの便利なライブラリをダウンロードします(cwrapは私が知っているモジュールの1つであり、cythonと連携して動作するように設計されています)。

安全な

于 2012-03-01T17:50:25.823 に答える
0

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

私のためにうまくいきました!で見つけた

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

一番!

于 2013-04-11T11:17:57.320 に答える