[英]python: py2exe cryptography Multibackend cannot be initialized with no backends
我在Windows 7 64位上使用py2exe 0.6.9使用python 2.7.11,運行.exe
文件后出現以下錯誤。
ValueError:不能在沒有后端的情況下初始化Multibackend。
如果在嘗試使用
default_backend()
時看到此錯誤,請嘗試卸載並重新安裝加密。
我寫了下面的代碼,然后問題就解決了。
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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.