问题背景

使用scrapy crawl xxx 时,发现报错如下

from cryptography.exceptions import InternalError
  File "E:\study_and_work\code\PythonProject\CrawlerProject\.venv\lib\site-packages\cryptography\exceptions.py", line 9, in <module>
    from cryptography.hazmat.bindings._rust import exceptions as rust_exceptions
ImportError: DLL load failed while importing _rust: 找不到指定的程序。

解决过程

看了一些文章后,发现问题在于我下载的cryptography的版本不对,应该下载一个低版本的cryptography。于是我随手下载了个41.0.2版本的,但是出现了一个ERROR,内容如下
ERROR
这里报错的内容是解决问题的关键,它提示我说我的cryptography的版本是错误的,我的cryptography版本应该与pyopenssl的版本相对应,最少应为41.0.5版本。而之前报错的版本为42版本的,所以这里保险起见,我下载了41.0.5版本的cryptography。

pip install cryptography==41.0.5

再使用命令scrapy crawl xxx 时,就不报错了,scrapy也正常跑了起来。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐