2

关于 Python 的 setuptools 的问题。我刚刚全新安装了 Mac OS 10.8 并安装了官方 Python 2.7.3 包。安装二进制模块py-bcrypt(或任何其他二进制模块)时,我收到以下错误:

bcrypt/bcrypt_python.c:17:10: fatal error: 'Python.h' file not found
#include "Python.h"
         ^
1 error generated.
error: Setup script exited with error: command 'clang' failed with exit status 1

运行sudo easy_install --verbose py-bcrypt显示以下对 CLang 的调用:

clang -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c bcrypt/bcrypt_python.c -o build/temp.macosx-10.8-intel-2.7/bcrypt/bcrypt_python.o

...这很好,除了这部分:

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

因为Python.h这里其实是存放在系统库中的:/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h

所以最后要直截了当地说:如何更改 setuptools 使用的默认包含路径?

4

2 回答 2

1

在 Ubuntu 中,这样做.bashrc可以.zshrc解决问题:

export C_INCLUDE_PATH=/you_name_it/include/python2.7
export CPLUS_INCLUDE_PATH=/you_name_it/include/python2.7

gcc可以找到您需要的其他标题,但我不确定它是否适用于clang.

于 2013-12-08T08:51:50.507 回答
0

我仍然不知道如何实际执行此操作,但我找到了一种解决方法。安装 XCode 的命令行工具(首选项 -> 下载 -> 命令行工具)将 Python 标头放在正确的位置。

于 2012-12-15T19:12:11.333 回答