无法在OS X Lion中构建Cython/distutils。
我在网上找了很多地方,但都没有找到有用的解决办法。
我想用Cython把C语言代码嵌入到我的Python程序里。
python setup.py build_ext --inplace
当我运行上面的代码时,它提示说编译器不是gcc-4.0。我现在知道在Lion系统上只安装了gcc-4.2(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
就我所见,我也无法安装这些编译器。
有没有什么办法可以解决这个问题?
3 个回答
0
如果我尝试指定已安装的gcc,我会得到这样的错误信息:
你是怎么指定的?是用环境变量CC吗?
错误:不知道如何在'posix'平台上用'gcc'编译C/C++代码。
这让我觉得你可能传递了 --compiler=gcc
,但是正如你在 --help-compiler
的提示信息中看到的,这并不是一个有效的值。
1
你可能在用一个老旧的只支持32位的Python,可能是从python.org上安装的。试着升级到一个64位或32位的Python 2.7.2,可以在这里下载,或者直接使用苹果自带的Python 2.7.1,在Lion系统里可以找到它(路径是/usr/bin/python2.7
)。
2
我在虚拟环境中编译 greenlet 时遇到了同样的问题,后来通过手动在 lib/python2.7/config/Makefile
文件中设置想要的编译器解决了这个问题。