项目场景:
由于项目需要使用到爬虫技术,故选择了scrapy爬虫来实现。但是在scrapy环境配置的过程中遇到了不少的问题,使得学习过程变得十分坎坷……
问题1:
pip版本更新问题
WARNING: You are using pip version xxx, however version xxx is available…
原因与解决:
没啥说的,pip版本过低,直接使用如下代码安装最新版pip:
python -m pip install -U pip
问题2:
安装cryptography 时,断联。重新安装后出现错误提示:
THESE PACKAGES DO NOT MATCH THE HASHES ……
原因与解决:
由于服务器在海外,难免出现下载安装过程中断联的情况。此时虽然是未安装成功,但是属于重复安装,此时输入以下代码解决:
pip install --upgrade cryptography
同理,如果出现类似情况,一样可以使用类似代码解决,如:
These Packages Do Not Match The Hashes From The Requirements File.
当出现如上的错误提示时,说明是由于网络问题导致的下载失败。如果你反复使用pip install安装,则会报错。
此时的解决方法如下:(这里的packageName就是你正在安装的包名)
pip install --upgrade packageName
接下来,是最让我头疼的Twisted。直接pip安装,意料之中报错,转而换成whl安装方式。又报错!纠缠许久,遇到了不少问题……
问题3:
在安装scrapy过程中安装Twisted依赖库出错:
** is not a supported wheel on this platform **
原因与解决:
首先pip install wheel排除不是未安装wheel库的问题。其次检查对应的whl包的位数是不是符合安装的python的位数(鬼知道我为啥安装的是32位的python),检查发现也是对应的。
最后发现是whl包的版本不对。
Twisted文件名【Twisted-20.3.0-cp39-cp39-win32.whl】中的cp39指的是对应python3.9版本,而我的是3.8版本,遂找cp38版包,该问题没有复现。
问题4:
报错:
Requirement ‘Twisted-20.3.0-cp38-cp38-win32.whl ‘ looks like a file name…
在用pip安装Twisted时,可能会报以下错:
原因与解决:
主要原因在于,使用pip安装Twisted时,install后应该是文件所在的安装路径,而不是文件名。
将命令语句改为: pip install 你的安装目录\Twisted文件名。修改之后,该问题没有复现。
问题5:
报错:raise BadZipFile
原因与解决:
用这个命令解决:
pip install --no-cache-dir django==1.11.
原因在于,当用pip安装的时候,第一个pip会首先检查安装包里的pip cache,如果安装包找到了,而且是最新的,pip就会抓取并且安装安装包里的 .whl 文件,这个就会生成 badzipfile。
问题6(未解决):
报错:BadZipfile: File is not a zip file
原因:
查询得知,该问题较为常见,主要原因可能是网络原因导致zip没下全,文件损坏无法安装。可以尝试卸载重新安装。
该问题目前暂未解决,如有解决了的大神欢迎评论区提点一下。