点子:了解缺less的图书馆转储

我试图在Windows 7上安装HoneyProxy 。我已经安装了Python 2.7和pip。 它说,

安装所有的依赖项 :pip安装pyOpenSSL pyasn1 Twisted Autobahn

Windows用户:手动安装pyOpenSSL和Twisted的二进制文件。

我的点子名单,

astropy (0.3.1) autobahn (0.8.8) beautifulsoup4 (4.3.2) cffi (0.8.2) cryptography (0.4) httplib2 (0.8) matplotlib (1.3.1) numpy (1.8.1) oauth2 (1.5.211) oauthlib (0.6.0) pip (1.5.4) pyasn1 (0.1.7) pycparser (2.10) pyopenssl (0.14) pyparsing (2.0.1) python-dateutil (2.2) pytz (2014.2) requests (2.2.1) requests-oauthlib (0.4.0) setuptools (3.4.4) simplejson (3.3.2) six (1.6.1) Twisted (14.0.0) TwitterAPI (2.1.13) urwid (1.2.1) wikipedia (1.1dev) wsgiref (0.1.2) zope.interface (4.1.1) 

我已经手动安装pyOpenSLL和Twisted 。 我试图执行python honeyproxy.py转储时,

 D:\arbol\documentos\phyton\honeyproxy>python honeyproxy.py Traceback (most recent call last): File "honeyproxy.py", line 21, in <module> from twisted.web.server import Site File "C:\Python27\lib\site-packages\twisted\web\server.py", line 35, in <module> from twisted.web import iweb, http, html File "C:\Python27\lib\site-packages\twisted\web\http.py", line 95, in <module> from twisted.internet import interfaces, reactor, protocol, address File "C:\Python27\lib\site-packages\twisted\internet\reactor.py", line 38, in <module> from twisted.internet import default File "C:\Python27\lib\site-packages\twisted\internet\default.py", line 56, in <module> install = _getInstallFunction(platform) File "C:\Python27\lib\site-packages\twisted\internet\default.py", line 50, in _getInstallFunction from twisted.internet.selectreactor import install File "C:\Python27\lib\site-packages\twisted\internet\selectreactor.py", line 18, in <module> from twisted.internet import posixbase File "C:\Python27\lib\site-packages\twisted\internet\posixbase.py", line 24, in <module> from twisted.internet import error, udp, tcp File "C:\Python27\lib\site-packages\twisted\internet\tcp.py", line 29, in <module> from twisted.internet._newtls import ( File "C:\Python27\lib\site-packages\twisted\internet\_newtls.py", line 21, in <module> from twisted.protocols.tls import TLSMemoryBIOFactory, TLSMemoryBIOProtocol File "C:\Python27\lib\site-packages\twisted\protocols\tls.py", line 41, in <module> from OpenSSL.SSL import Error, ZeroReturnError, WantReadError File "build\bdist.win32\egg\OpenSSL\__init__.py", line 8, in <module> File "build\bdist.win32\egg\OpenSSL\rand.py", line 11, in <module> File "build\bdist.win32\egg\OpenSSL\_util.py", line 4, in <module> File "C:\Python27\lib\site-packages\cryptography\hazmat\bindings\openssl\binding.py", line 87, in __init__ self._ensure_ffi_initialized() File "C:\Python27\lib\site-packages\cryptography\hazmat\bindings\openssl\binding.py", line 106, in _ensure_ffi_initial ized libraries=libraries, File "C:\Python27\lib\site-packages\cryptography\hazmat\bindings\utils.py", line 80, in build_ffi extra_link_args=extra_link_args, File "C:\Python27\lib\site-packages\cffi\api.py", line 341, in verify lib = self.verifier.load_library() File "C:\Python27\lib\site-packages\cffi\verifier.py", line 75, in load_library return self._load_library() File "C:\Python27\lib\site-packages\cffi\verifier.py", line 151, in _load_library return self._vengine.load_library() File "C:\Python27\lib\site-packages\cffi\vengine_cpy.py", line 138, in load_library raise ffiplatform.VerificationError(error) cffi.ffiplatform.VerificationError: importing 'C:\\Python27\\lib\\site-packages\\cryptography\\_Cryptography_cffi_444d73 97xa22f8491.pyd': DLL load failed: El sistema operativo no puede ejecutar %1. 

听起来像cffi或密码学库失败,我不知道哪一个。 OpenSLL和扭曲呢?

编辑:最后,我不得不安装

  • OpenSSL for Windows
  • pywin32
  • 卸载Autobahn并安装Autobahn == 0.6.5pip install Autobahn==0.6.5

基于这个堆栈, Twisted试图初始化它的TCP层,然后调用到OpenSSL ,最终调用到cffi代码中,这是Python和C代码之间的桥接接口。

它试图加载C:\ Python27 \ lib \ site-packages \ cryptography \ _Cryptography_cffi_444d7397xa22f8491.pyd文件(这本质上是一个Python就绪的DLL),并且由于声明的错误而无法启动。 (看起来它没有在错误字符串中插入一个占位符,这是不幸的,因为这可能提供了额外的信息 – 除此之外,消息只是操作系统无法加载文件,这是不是很多的诊断,因为这可能会出于一堆不同的原因)。

首先要检查的是该文件是否确实存在于您的机器上。 如果没有,可能安装cffi不能正常工作。 如果它确实存在,那么它只是无法加载它。 Windows Event Log有可能在其中的一个视图中可能会让我们更加清楚为什么Windows无法加载pyd / DLL。

**编辑**

这可能是32位与64位的问题。 看到这个常见问题: https : //cryptography.io/en/latest/faq/#when-i-try-to-use-cryptography-on-windows-i-get-a-cffi-ffiplatform-verificationerror

我会建议尝试安装64位版本(假设您使用Win64)。