win10 下运行scrapy startproject tutorial 报错 “ImportError:DLL load failed”


      win10下利用命令“conda install -c conda-forgescrapy"安装scrapy没有提示出现问题。运行scrapy startproject tutorial 后,报错 “ImportError:DLL load failed”。观察追踪信息,判断出出错语句为“from cryptography.hazmat.bindings._openssl import ffi, lib”。据此估计是与openssl相关的动态库出错。进入动态库目录(本人的位于C:\Users\Liu\Anaconda3\Library\bin),将文件ssleay32.dll的文件名改为ssleay32.dllold,再运行“from cryptography.hazmat.bindings._openssl import ffi, lib”,提示信息为“DLL load failed: 找不到指定的模块“。至此,确认出问题出在ssleay32.dll上(在网上搜索别人的帖子,有人讲用VS2015重新编译openssl即可,但为了编译他还要安装vs2015,太麻烦了,所以没这么做)。尝试了以下解决办法:

1、运行“conda install openssl”,重新安装了openssl,但问题依旧。

2、运行“conda create -n scrapyenv scrapy -c conda-forge”,重新安装各种最新版本包(见下图),试图建立一个新的虚拟环境。

在安装过程中退出了,可能 是网络原因造成的。再试了2次没成功,只能放弃了。

3、 重新下载了Anaconda4.4.0。联想到ssleay32.dll是32的动态库,这次干脆用了32位版本的(原来是64位的)。安装完毕,测试与openssl相关的使用没问题。

     之后,运行命令:

  conda install -c conda-forge scrapy

由于网络问题,安装过程中也退出了。再试多次仍有问题。没办法,只能不断重试直至成功(怎办呢,网络就这样呀)。

 

安装完毕后,运行命令

   scrapy startproject tutorial

出现语句:

New Scrapy project 'tutorial', usingtemplate directory'C:\\Anaconda3\\lib\\site-packages\\scrapy\\templates\\project', created in:
    C:\Users\Liu\tutorial
You can start your first spider with:
    cd tutorial
    scrapy genspider example example.com

    照着做,进入tutorial目录,运行命令 scrapy genspider example example.com,出现语句:

Created spider 'example' using template'basic' in module:
  tutorial.spiders.example

至此,scrapy总算能用了吧!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值