Python:导入OpenSSL时出错

时间:2016-03-10 10:21:17

标签: python openssl

我正在学习Scrapy,来自Scrapy&#39的博士http://doc.scrapy.org/en/1.0/intro/overview.html 我输入了

  

scrapy runspider stackoverflow_spider.py -o top-stackoverflow-questions.json

和cmd提示

  

ImportError:DLL加载失败:%1不是有效的Win32应用程序。

详细说明:

C:\Users\jiahao>scrapy runspider stackoverflow_spider.py -o top-stackoverflow-qu
estions.json
Traceback (most recent call last):
  File "c:\python27\lib\runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "c:\python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\Python27\Scripts\scrapy.exe\__main__.py", line 9, in <module>
  File "c:\python27\lib\site-packages\scrapy\cmdline.py", line 122, in execute
    cmds = _get_commands_dict(settings, inproject)
  File "c:\python27\lib\site-packages\scrapy\cmdline.py", line 46, in _get_comma
nds_dict
    cmds = _get_commands_from_module('scrapy.commands', inproject)
  File "c:\python27\lib\site-packages\scrapy\cmdline.py", line 29, in _get_comma
nds_from_module
    for cmd in _iter_command_classes(module):
  File "c:\python27\lib\site-packages\scrapy\cmdline.py", line 20, in _iter_comm
and_classes
    for module in walk_modules(module_name):
  File "c:\python27\lib\site-packages\scrapy\utils\misc.py", line 71, in walk_mo
dules
    submod = import_module(fullpath)
  File "c:\python27\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "c:\python27\lib\site-packages\scrapy\commands\version.py", line 6, in <m
odule>
    import OpenSSL
  File "c:\python27\lib\site-packages\OpenSSL\__init__.py", line 8, in <module>
    from OpenSSL import rand, crypto, SSL
  File "c:\python27\lib\site-packages\OpenSSL\rand.py", line 11, in <module>
    from OpenSSL._util import (
  File "c:\python27\lib\site-packages\OpenSSL\_util.py", line 6, in <module>
    from cryptography.hazmat.bindings.openssl.binding import Binding
  File "c:\python27\lib\site-packages\cryptography\hazmat\bindings\openssl\bindi
ng.py", line 14, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: DLL load failed: %1 is not a valid Win32 application.

2 个答案:

答案 0 :(得分:2)

我最近也在Windows上遇到了OpenSSL的这个问题,除了从https://slproweb.com/products/Win32OpenSSL.html安装预先打包的库文件的建议之外,我还需要重新安装cryptography

pip install -I cryptography

答案 1 :(得分:0)

我遇到了同样的问题。我下载并安装了Win64OpenSSL_Light-1_0_2h,但它确实有效。