You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04运行依赖Python2.7的Stampy时报unsupported hash type错误如何解决

问题根因

Ubuntu 20.04 预装的 OpenSSL 1.1.x 默认调整了加密安全等级,对已停止维护的 Python 2.7 的部分哈希调用做了限制。官方源提供的 Python 2.7 包编译时未适配对应的接口规则,因此会出现 hashlib 可正常导入,但 sha224、sha256 等特定哈希算法无法调用的报错。

适配 Ubuntu 20.04 的修复方案

方案1:安装兼容依赖包(优先尝试,无需编译)

  • 首先启用 universe 软件源,安装旧版 OpenSSL 兼容开发包:
add-apt-repository universe && apt update
apt install libssl1.0-dev
  • 完成后重装 Python 2.7 核心组件:
apt install --reinstall python2.7-minimal python2.7-dev
  • 验证修复效果,执行以下命令无报错即为修复成功:
python2.7 -c "import hashlib; print(hashlib.sha256('test').hexdigest())"

方案2:手动编译适配哈希接口的 Python 2.7(方案1无效时使用)

  • 先安装编译所需的全部依赖:
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl1.0-dev libreadline-dev libffi-dev
  • 从 Python 官方存档下载 Python 2.7.18 源码包(Python 2 最终稳定版本),解压后进入源码目录。
  • 执行编译配置,指定启用 SSL 支持:
./configure --enable-optimizations --with-ssl
make altinstall
  • 编译完成后,将 Stampy 调用的 Python 路径替换为新编译的 Python 2.7 路径即可。

方案3:调整 OpenSSL 全局配置(临时测试用)

如果仅需要临时验证功能,不需要长期修改 Python 环境,可以降低系统加密安全等级临时兼容:

  • 编辑 /etc/ssl/openssl.cnf 文件,在文件最开头添加如下配置:
openssl_conf = default_conf

[default_conf]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
MinProtocol = TLSv1.0
CipherString = DEFAULT@SECLEVEL=1
  • 保存退出后直接重新运行 Stampy 即可。该方案会降低系统全局加密安全等级,不推荐生产环境长期使用。

内容的提问来源于stack exchange,提问作者Max

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:54:07