2012-02-25 4 views
3

Je suis en train d'installer cython sur lion, mais ce que je reçois:comment installer Cython sur 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 

Je ne suis pas sûr que LLVM-gcc est juste, j'ai installé mais Xcode4.1 ça ne marche toujours pas.

Quelqu'un sait comment résoudre ce problème?

+0

Jetez un coup d'œil à Homebrew (http://mxcl.github.com/homebrew/). 'infuser installer python --framework' –

+0

J'ai Lion. J'ai téléchargé Cython et j'ai lancé python setup.py install. Il a été compilé et installé correctement, sans aucune exportation supplémentaire ou modifications à PATH ou CC ou toute autre chose. – snapshoe

Répondre

7

Vous devez ajuster au moins vos variables d'environnement PATH et LD_LIBRARY_PATH.

La variable d'environnement PATH doit également inclure /Developer/usr/bin. J'ai écrit un fichier ~/.bash_devenv, que je trouve chaque fois que je veux compiler du code C sur mon Mac Pro mi-2010 (mis à jour de Snow Leopard vers Lion to 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" 


Certains des CFLAGS sont probablement redondants (-I/chemin/vers/directives dir), mais il doit surtout être utile pour toute machine exécutant Lion et XCode.

Je viens de compiler avec succès Cython sur Lion. Il a échoué cependant, avant j'avais:
1) Dactylographié la commande source ~/.bash_devenv
2) Utilisé une version personnalisée de Python que j'ai compilé manuellement.
    La compilation cython échoue avec l'installation par défaut de Python, car elle ne trouve pas Python.h. Si vous savez où trouver le système Python.h et que vous voulez utiliser le système Python (pas recommandé si vous voulez construire votre propre numpy ou d'autres bibliothèques), ajoutez le répertoire contenant Python.h à CPPFLAGS; par exemple. . Vous pouvez également télécharger la distribution Python d'Enthought, qui inclut Cython, ainsi que de nombreuses autres bibliothèques utiles, y compris le code Open Source développé en interne (cwrap est un module que je connais et est conçu pour fonctionner de manière manuelle). - avec du cython).

Safe

Questions connexes