2011-12-10 64 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中手动设置所需的编译器来解决的。