作为 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 ,顺利安装成功。
标题:Python笔记:安装scrapy时fatal error C1083错误解决
原文链接:https://beltxman.com/3210.html
若无特殊说明本站内容为 行星带 原创,未经同意请勿转载。


