AI编程生活评测

Python笔记:安装scrapy时fatal error C1083错误解决

编程笔记 / 2020-08-20 / 2 min
作为 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-Win64openssl 的安装目录, C:Python38python3.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勾选inherit global site-packages 这样是可以正常安装使用的,也能完成 scrapy 的安装,但是有个问题是,你在这个项目环境下安装的任何包都会装到系统环境中去,系统环境就不再纯净了。

办法2:将包文件复制到项目中

把系统环境目录 C:Python38Libsite-packageslxml 相关的两个文件夹复制到项目下的包目录 D:PycharmProjectsuntitledvenvLibsite-packages 即可。 复制包文件到项目环境中 这时候从 Project Interpreter 中也能看到这个 lxml 这个包了。 项目环境中可以看到这个包了 办法2比较环保,推荐这个。 然后再愉快的 pip install scrapy ,顺利安装成功。