0

我在 windows 7 64bit 上使用 python 2.7.11 和py2exe 0.6.9.exe ,运行文件后出现以下错误。

ValueError: Multibackend 不能在没有后端的情况下初始化。

如果您在尝试使用时看到此错误,default_backend()请尝试卸载并重新安装密码学。

4

1 回答 1

0

我写了下面的代码,然后问题就解决了。

def patch_crypto_be_discovery():

"""
Monkey patches cryptography's backend detection.
Objective: support pyinstaller freezing.
"""

from cryptography.hazmat import backends

try:
    from cryptography.hazmat.backends.commoncrypto.backend import backend as be_cc
except ImportError:
    be_cc = None

try:
    from cryptography.hazmat.backends.openssl.backend import backend as be_ossl
except ImportError:
    be_ossl = None

backends._available_backends_list = [
    be for be in (be_cc, be_ossl) if be is not None
]

patch_crypto_be_discovery()
于 2017-01-26T11:01:28.737 回答