簡體   English   中英

python:py2exe密碼學多后端無法初始化而沒有后端

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM