Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mac OS X 10.6上缺少Python.h头文件_Python_Xcode_Macos_Osx Snow Leopard_Header Files - Fatal编程技术网

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

Mac OS X 10.6上缺少Python.h头文件,python,xcode,macos,osx-snow-leopard,header-files,Python,Xcode,Macos,Osx Snow Leopard,Header Files,我试图在MacOSX10.6.8和Python2.7.4上使用ctypes访问Python中的共享C库。为此,我需要在我的C代码中包含。如果我试图编译一个C脚本,其中只有一个include语句,将其称为“sample.C”,我会得到: 因为我运行的是Mac10.6,所以我有了Xcode 3.2.6,这是OS X的最新版本,无需付费升级到10.7并获得Xcode 4。有没有办法在不升级我的操作系统的情况下获取Python头文件?我不确定10.6.8,但是Python.h应该在 /Library/F

我试图在MacOSX10.6.8和Python2.7.4上使用
ctypes
访问Python中的共享C库。为此,我需要在我的C代码中包含
。如果我试图编译一个C脚本,其中只有一个include语句,将其称为“sample.C”,我会得到:


因为我运行的是Mac10.6,所以我有了Xcode 3.2.6,这是OS X的最新版本,无需付费升级到10.7并获得Xcode 4。有没有办法在不升级我的操作系统的情况下获取Python头文件?

我不确定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
命令,看看是否有效。

Python是Mac OS X上的一个框架,因此您需要

#include <Python/Python.h>

如果您已经使用Brew安装了Python,那么检查标头的位置可能是值得的。
尝试
I/usr/local/ceral/python/…

另一种方法是向
gcc
调用添加
`python配置--include`
。它将扩展到
-I/usr/…
,因此

gcc -shared -o sample.so sample.c `python-config --include`

还可以检索其他选项,例如
`python config--cflags--ldflags`

使用
ctypes
或将库编写为python扩展(使用
python.h
)。两个都做很少是个好主意。谢谢!这正是我所需要的。惯例是:使用
#include
,并将正确的
-I
-path设置为Python头文件(如其他答案所述,例如)。前缀包括

gcc -shared -o sample.so sample.c -framework Python
gcc -shared -o sample.so sample.c `python-config --include`