【问题标题】:unsupported hash type when installing plone安装克隆时不支持的哈希类型
【发布时间】:2012-07-11 12:53:24
【问题描述】:

我尝试安装plone,但在运行脚本 install.sh 时出现问题。以下是错误详情:

raise ValueError('unsupported hash type %s' % name)
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found
ValueError: unsupported hash type sha512

我在一个论坛上读到,这个错误可能是由与操作系统上的 python 版本不兼容的 Plone 版本引起的。但是,plone官网是这样说的:

Plone Unified Installer 是一个源安装工具包,用于安装 Plone 及其在大多数类 Unix 平台上的源代码依赖项。这 套件包括 Plone、Zope 和 Python。 Python 的安装方式是 不会改变或干扰您的系统 Python。

所以我不知道如何解决这个问题。

【问题讨论】:

    标签: python plone hashlib


    【解决方案1】:

    这不是 Plone 独有的问题。

    Python 将 OpenSSL 用于 hashlib module,并且您系统上的 OpenSSL 库不提供它需要的函数。 通常默认情况下应该存在 sha256、sha384 和 sha512 算法,但它们不在您的系统上,和/或 python 链接到错误的系统库。

    如何解决这个问题取决于您的操作系统,您没有提供任何详细信息。您可以检查安装程序的要求列表,并仔细检查您是否拥有所需的一切。

    【讨论】:

    • 我有同样的问题,我没有找到任何解决方案。如何解决这个错误??????
    • 在运行 plone install.sh 之前安装你的发行版 openssl-dev 包。
    • 这里需要什么? lib文件或头文件或两者兼而有之?以及如何确定 Python 正在寻找的文件是什么?
    • 从另一个 SO 答案中学习:ldd /path/to/your/pythonlib/lib-dynload/_hashlib.so,你会看到一些像 libssllibcrypto 这样的 .so 文件丢失了。跨度>
    • @andy: ldd 不能在 Windows 或 Mac 上运行。这取决于您的 Linux 发行版如何纠正这些依赖关系。
    【解决方案2】:

    正如@Martijn 所解释的,openssl 没有所需的哈希函数。因此,将其卸载并使用其他库,例如 libressl。我做了以下,它在 Mac El Capitan 上工作:

       brew uninstall openssl@1.1
       brew install libressl
       brew uninstall python2
       brew install python2
    

    【讨论】:

    • brew upgrade libressl 为我工作,所以这个python -c "import hashlib;" 不会抛出任何关于缺少 md5、sha512 等的错误。
    猜你喜欢
    • 2023-04-02
    • 2011-02-07
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    相关资源
    最近更新 更多