2011-12-10 110 views
3

我在網上找遍瞭解決方案,但沒有找到有用的東西。無法在OS X Lion中構建Cython/distutils。

我想用Cython將C代碼嵌入到我的Python程序中。

python setup.py build_ext --inplace 

當我運行上面它抱怨編譯器,而不是gcc-4.0。我現在知道只有gcc-4.2安裝在Lion(python 2.7 32位)上。有沒有得到4.0,我試過fink,但它沒有它。 (我已經運行在Windows和我的朋友筆記本電腦與雪豹,它運行良好)。

如果我嘗試指定裝gcc我得到

error: don't know how to compile C/C++ code on platform 'posix' with 'gcc' compiler 

要檢查可能的編譯器,我跑:

python setup.py build_ext --inplace --help-compiler 

,並得到了這些:

List of available compilers: 
    --compiler=bcpp  Borland C++ Compiler 
    --compiler=cygwin Cygwin port of GNU C Compiler for Win32 
    --compiler=emx  EMX port of GNU C Compiler for OS/2 
    --compiler=mingw32 Mingw32 port of GNU C Compiler for Win32 
    --compiler=msvc  Microsoft Visual C++ 
    --compiler=unix  standard UNIX-style compiler 

至於我可以看到我無法安裝任何這些。

有什麼我可以做的,以解決這個問題?

+0

您是否安裝了Developer Tools/XCode? – blahdiblah

+0

是的,安裝了Xcode,但它只有gcc-4.2。我認爲舊的gcc-4.0可能已經ppc(?) – Anake

+0

你可以添加你得到的錯誤信息嗎?這似乎很奇怪,它會指定確切的版本,而不僅僅是最低版本。 – blahdiblah

回答

1

您可能正在使用一個較舊的32位Python,它可能是從python.org安裝的。嘗試升級到64位/ 32位Python 2.7.2 here或者在Lion中使用Apple提供的Python 2.7.1(/usr/bin/python2.7)。

0

如果我嘗試指定安裝的gcc我得到

你是如何指定它的?使用環境變量CC?

錯誤:不知道如何編譯平臺上「POSIX」與「GCC編譯器提供

讓我覺得你通過--compiler=gcc C/C++代碼,但是當你在--help-compiler消息看它不是一個有效的值。

2

我在編譯virtualenv中的greenlet時遇到了同樣的問題,這是通過在文件lib/python2.7/config/Makefile中手動設置所需的編譯器來解決的。