作者:张自玉
链接:https://www.zhihu.com/question/30047496/answer/76115376
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
首先请确认安装了xcode commond line tool 也就是xcode的命令行工具,因为编译lxml需要用到cc 等命令
所以先在命令行输入
安装完命令行工具 用pip来安装你所需要的lxml
这时候如果提示头文件未找到的话 用locate命令定位一下头文件的位置
初次使用locate命令会提示安装
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
安装一下就好了
之后定位到了locate之后 设置一下环境变量
export C_INCLUDE_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/
那么在编译lxml的时候 就自动会到这个路径下搜索头文件
然后pip install 就可以啦。
另外如果系统装了几个版本的xcode 那么打印看好xcode的路径
如果想切换到另一个xcode路径下 可以考虑在bash.profile进行全局的设置
或者在终端设置变量
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
或者
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer
如果这些安装完了之后,最后引用Scrapy包得时候报错
请尝试删除
cd /Library/Python/2.7/site-packages/
sudo rm -rf six*
如果是Mac OSX 10.11 有可能会报错 因为mac系统多了sip 关闭sip就OK了
关闭sip的方法:http://blog.csdn.net/glovenone/article/details/51819951