pyspider安装

pyspider安装

官方文档上说的比较简单:

pip install pyspider

但是实际安装时还是有些问题导致无法成功。

windows下安装

需要安装如下两个exe之后再执行pip:
- lxml
- pycurl

mac下安装

mac下也需要先安装lxml,但是会遇到安装不成功的问题,解决方案参照如下文档:
http://blog.marchtea.com/archives/91

MAC OSX下pip安装lxml发生xmlversion.h not found问题解决办法
OCTOBER 25, 2013 / MARCHTEA / 2 COMMENTS
最近由于写爬虫需要用到对html的解析,才搜索了一番之后,从网站的列表中看出lxml的速度相当快.而PyQuery是在其基础上封装的一层库,同时由于采用jquery的访问器语法,成为了我使用的首选.于是,就开始了痛苦的安装过程.

pip应该是最简单安装pip插件的方式之一了.在安装了pip之后,在终端里输入

sudo pip install pyquery
pip开始安装,同时找到了需要依赖的包lxml和cssselect,自动下载lxml以及cssselect.这时候悲剧发生了:

Error: #include “xml/xmlversion.h” not found

调用locate命令,我们可以清晰的看到xmlversion.h是存在的:

summertekiMacBook-Pro:~ summer$ locate xmlversion.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/libxml2/libxml/xmlversion.h
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/include/libxml2/libxml/xmlversion.h
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/usr/include/libxml2/libxml/xmlversion.h
查看编译的命令,我们可以看到在lxml编译过程中,有大致这样的输出:

cc xxxxxxxx -I/usr/include
也就是说,编译的时候头文件的库包有很多,唯独就是少了我们xmlversion.h存在的路径.而且,由于mac是apple定制过的unix系统,其/usr目录下并没有include文件夹.找到问题后,就得想办法解决.

不幸的是,由于不大熟悉pip的执行过程,直接修改命令是不大可能了.那就换个方法,google一番,从stackoverflow找到了相应的解答

export C_INCLUDE_PATH=your_path_libxml:$C_INCLUDE_PATH
看起来能解决问题了~ 执行

export C_INCLUDE_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/:$C_INCLUDE_PATH
sudo pip install pyquery
然后,错误继续…what!!

手动下载lxml包,解压,make.在export的情况下,编译成功了.看来C_INCLUDE_PATH是有效的,但是pip还是不行.

继续google,终于看到了在pip中如何设置一些编译变量.正确的语法是在pip之前先设置好变量,再pip install.

sudo C_INCLUDE_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/libxml2:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/libxml2/libxml:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include pip install lxml
同样的,如果需要设置libpath,也在pip之前加入C_LIB_PATH再使用pip. That’s it! Enjoy Pyquery.
然后需要注意用

sudo pip install pyspider

避免文件写入权限问题。

mac开发环境下其实都应该安装xcode 和command line tools。因为我机器上已经有,所以就没有提及此处。但是网上有小伙伴反馈此情况,所以这里也标注一下。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值