Mac OS X 10.6中缺少Python.h头文件

时间:2013-05-09 04:01:57

标签: python xcode macos osx-snow-leopard header-files

我尝试使用Python 2.7.4在Mac OS X 10.6.8上使用ctypes访问Python中的共享C库。为此,我需要在我的C代码中#include <Python.h>。如果我尝试编译一个只有一个include语句的C脚本,请调用它&#34; sample.c&#34;,我得到:

$ gcc -shared -o sample.so sample.c
sample.c:1:20: error: Python.h: No such file or directory

由于我正在运行Mac 10.6,我有Xcode 3.2.6,这是OS X迭代的最新版本,无需支付升级到10.7并获得Xcode 4.有没有办法获得Python头文件没有升级我的操作系统?

4 个答案:

答案 0 :(得分:24)

Python是Mac OS X上的一个框架,所以你需要,

#include <Python/Python.h>

您还需要使用gcc参数调用-framework来实际执行C内的任何操作,

gcc -shared -o sample.so sample.c -framework Python

答案 1 :(得分:2)

我不确定10.6.8,但Python.h应该在

/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7

如果您安装了官方python.org二进制文件。尝试添加

-I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7

到你的gcc命令,看看是否有效。

答案 2 :(得分:0)

如果您使用Brew安装了Python,则可能值得检查标头的位置。 尝试I/usr/local/Cellar/python/...

答案 3 :(得分:0)

另一种方法是将alignof添加到`python-config --include`调用中。它将扩展为gcc,所以

-I/usr/...

还可以检索其他选项,例如gcc -shared -o sample.so sample.c `python-config --include`