ImportError:DLL加载失败:操作系统无法运行%1。 Python 2.7.12 | Anaconda 4.2.0(64位)

时间:2016-12-15 16:47:27

标签: python scrapy anaconda

我的操作系统是Win10-x64。

我在MS-DOS窗口中运行scrapy命令:scrapy startproject tutorial然后收到以下错误消息:

Image 1

我确信我已经安装了scrapy,但是任何scrapy命令都无效。

我注意到日志:“来自cryptography.hazmat.bindings._openssl import ffi,lib ”并且我找到了文件 cryptography.hazmat.bindings._openssl 发现 _openssl .pyd 文件。

Image 2

此文件中似乎存在一些错误。

我还注意到Anaconda中的OpenSSL包是用vc9构建的,我安装了微运行时环境,它对我没用。

3 个答案:

答案 0 :(得分:1)

尝试使用包含最新软件包的conda-forge频道。

conda install scrapy -c conda-forge

注意:使用新环境,因为您可能通过cryptography安装了lxml(可能还有pip),这可能不适合conda环境。

答案 1 :(得分:1)

名称 = scrapy或加密

只有pip uninstall "name"因为conda可能会告诉你由于依赖性而无法完成某些卸载。

此后pip install "name"

现在可能会解决问题。

答案 2 :(得分:0)

我使用Visual Studio 2015构建OpenSSL WIN64发行版,并将libeay32.dll和ssleay32.dll替换为" C:\ Windows \ System32",然后scrapy命令工作。它还说建立一个WIN32版本更好,但我没有尝试。 我构建了动态库,而不是静态库。 为任何感兴趣的人建立命令:

cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
vcvars64.bat
perl Configure VC-WIN64A no-asm --prefix="c:\openssl-1.0.2j\build-vc14-debug-win64-dll"
ms\do_win64a.bat
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
nmake -f ms\ntdll.mak install
nmake -f ms\ntdll.mak clean