作为
Python 爬虫中的白富美,
scrapy 总是要了解学习的,
Python 的实践项目就直接从这个开始,后面也方便直接转化为商业项目,那第一步就是来安装
scrapy 。
本应该在
linux 虚拟机来做开发,但对于已经在
window 下安装
pycharm 情况下,加上
Python 强大的跨平台给我信心,加上虚拟机真的占内存啊,所以就直接在
windows 上做开发吧,所以下面的情况是出现在
windows10 环境下的。
信心满满,在
pycharm 中创建项目然后反手直接:
pip install scrapy
系统缺少openssl/opensslv.h
第一个报错,里面关键的一句是缺少
openssl/opensslv.h :
fatal error C1083: 无法打开包括文件: “openssl/opensslv.h”: No such file or directory
好吧,需要用到
openssl 。
windows平台安装openssl
从
http://slproweb.com/products/Win32OpenSSL.html下载对于版本的安装包,安装,然后:
目录
C:Program FilesOpenSSL-Win64lib 下的文件复制到
C:Python38libs ;
目录
C:Program FilesOpenSSL-Win64include 下的文件复制到
C:Python38include ;
上面
C:Program FilesOpenSSL-Win64 是
openssl 的安装目录,
C:Python38 是
python3.8 的安装目录,请根据你的安装目录对号入座。
然后继续
install scrapy ,又报错。
缺少libxml/xpath.h
fatal error C1083: 无法打开包括文件: “libxml/xpath.h”: No such file or directory
直接
pip install lxml 是可以将这个包正确安装到系统环境中的,但是在
pycharm 中虚拟出来的环境
venv 中依然会报这个错,那么要怎样能在虚拟出来的环境里正常使用
lxml 呢?两个办法:
办法1:直接使用全局环境
在新建项目虚拟环境的时候勾选
inherit global site-packages ;

这样是可以正常安装使用的,也能完成
scrapy 的安装,但是有个问题是,你在这个项目环境下安装的任何包都会装到系统环境中去,系统环境就不再纯净了。
办法2:将包文件复制到项目中
把系统环境目录
C:Python38Libsite-packages 下
lxml 相关的两个文件夹复制到项目下的包目录
D:PycharmProjectsuntitledvenvLibsite-packages 即可。

这时候从
Project Interpreter 中也能看到这个
lxml 这个包了。

办法2比较环保,推荐这个。
然后再愉快的
pip install scrapy ,顺利安装成功。