windows操作系统下通过Anaconda安装scrapy后出现ImportError: DLL load failed: 操作系统无法运行 %1

windows操作系统

python版本是3.6.0


通过Anaconda命令conda install scrapy安装scrapy,安装过程中没有问题。

然后在命令行输入命令准备新建项目时,输入 scrapy startproject firstscrapy时出现了

from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: DLL load failed: 操作系统无法运行 %1。

上面的错误。通过百度查到了两种网友的解决方案:

1、用pip uninstall scrapy 和 conda remove scrapy 两次卸载掉scrapy,然后再重新安装
2、把c:/windows/system32 目录下的 ssleay32.dll和libeay32.dll两个文件删掉

但是我安装上面的方法试了几遍都没有解决问题。


最后的解决方案是在博客园看到的。如果上面两种方案都还没有解决的话,我觉得绝大部分的原因是这个博主所说的

博文地址

本文记录win7系统下使用python3.5安装Scrapy爬虫框架。 

Scrapy框架目前的官方文档说明是还不支持windows的python3环境的,但是网友反映以及实际测试均可以使用,下面就进行简单的说明。

 

首先在这里不得不推荐安装Anaconda科学计算环境,这是一个对python进行管理的工具,并且集成了非常丰富的科学计算python库。

1.安装OpenSSL

scrapy框架的使用需要安装OpenSSL,而OpenSSL的使用又依赖windows的Microsoft Visual C++2008运行库,所以要先安装运行库,再安装OpenSSL然后才能使用scrapy。

1)下载openssl程序并安装: https://slproweb.com/products/Win32OpenSSL.html 注意下载

Win64 OpenSSL v1.0.2j Light 版本就可以了,其它版本可能也会出现问题,反正官网上下载的试过下面的方法就不行;

2)将openssl安装路径下的bin文件夹内的ssleay32.dll和libeay32.dll两个文件复制到C:\system32文件夹下,覆盖原有的文件;

3)在系统的环境变量中增加openssl下bin文件夹路径,类似这样:C:\OpenSSL-Win64\bin。

 

2.安装Scrapy

对于windows下没有安装visual studio的电脑,在使用pip或easy_install时可能会出现“unable to find vcvarsall.bat”的错误,这是因为缺少相应的vs编译器。网上的解决办法有两种:

  第一种方式:使用MinWG作为编译器

  第二种方式:使用visual studio作为编译器

  参考: http://blog.csdn.net/secretx/article/details/17472107 

  第一种方式没试过,至于第二种方式,编译一下就要下载一套几个G的软件是不划算的,具体的过程可以参考上面的链接。

因此我比较推荐使用Anaconda中的conda方法进行安装。使用conda命令进行安装非常简单,只要输入conda install scrapy即可安装所有的Scrapy依赖库以及Scrapy。

 

3.Scrapy排错

1)scrapy创建项目时出现如下提示:

  ImportError:DLLs load failed:操作系统无法运行 %1。

  出现这种错误的原因一般是没有由于安装OpenSSL或没有设置好OpenSSL的系统路径,解决方法参考前述OpenSSL的安装过程。

2)使用pip/easy_install进行安装是提示“unable to find vcvarsall.bat”错误,问题是缺少vs编译器,解决方案具体参考前面的步骤即可。


猜你喜欢

转载自blog.csdn.net/Doctor_LY/article/details/79581017