我的操作系统是Win10-x64。
我在MS-DOS窗口中运行scrapy命令:scrapy startproject tutorial
然后收到以下错误消息:
我确信我已经安装了scrapy,但是任何scrapy命令都无效。
我注意到日志:“来自cryptography.hazmat.bindings._openssl import ffi,lib ”并且我找到了文件 cryptography.hazmat.bindings._openssl 发现 _openssl 是 .pyd 文件。
此文件中似乎存在一些错误。
我还注意到Anaconda中的OpenSSL包是用vc9构建的,我安装了微运行时环境,它对我没用。
答案 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