本来scrapy用得好好的.突然出现了 “Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法”的问题。
本着解决问题的精神搞了好几个小时,终于解决了。记录一下:
首先搜“Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法”
看到有个解决方法是 :卸载 pyopenssl 和 cryptography,然后在安装。结果,卸载了死活装不上了。
一直报错误 :
ERROR: Could not find a version that satisfies the requirement 包名 (from versions: none)
ERROR: No matching distribution found for 包名
后面又继续解决问题,解决方法是:
python路径\Library\bin复制以下几个文件到 python路径\DLLs文件夹下
libcrypto-1_1-x64.*
libssl-1_1-x64.*
原因是DLLs文件夹缺少那几个文件,导致找不到报错。
终于可以安装包了,装上pyopenssl 和 cryptography后发现还又错误,哭,这次是
module 'OpenSSL.SSL' has no attribute 'SSLv3_METHOD'
又继续解决,pyopenssl的版本太新了,23.0.0降到22.0.0解决,继续又报错
AttributeError: module ‘lib’ has no attribute ‘OpenSSL_add_all_algorithms’
原因 pyopenssl和cryptography 版本不兼容,需要降级cryptography==36.0.2。
到此 完美解决,提一嘴 scrapy==2.3.0版本
如果出现
ImportError: cannot import name 'HTTPClientFactory' from 'twisted.web.client' (unknown location)
解决: 降级Twisted==20.3.0