Ubuntu 20.04安装Hyperledger Sawtooth遇Python依赖冲突问题问询
Ubuntu 20.04 安装Hyperledger Sawtooth依赖冲突解决方案
你遇到的报错根源是Hyperledger Sawtooth官方稳定版软件源的python3-secp256k1依赖包仅适配Python 3.7及更低版本,和Ubuntu 20.04默认预装的Python 3.8版本不兼容,并非操作步骤有误。以下是已验证可用的三种解决方案:
方案1:使用官方Docker镜像部署(最省心)
该方案无需修改系统环境,所有依赖已在预构建镜像内配置完成,不会和系统Python版本产生冲突。
操作逻辑:完成Docker和Docker Compose的安装后,直接拉取Sawtooth各组件的官方镜像,通过容器运行节点即可。方案2:替换为Sawtooth nightly版本软件源
官方nightly构建源已经完成Python 3.8适配,替换原有稳定版源后可直接通过apt正常安装:
操作步骤:- 删除之前添加的稳定版Sawtooth源配置文件,默认路径为
/etc/apt/sources.list.d/sawtooth.list - 添加nightly版本源:
echo "deb http://repo.sawtooth.me/ubuntu/nightly focal universe" | sudo tee /etc/apt/sources.list.d/sawtooth-nightly.list- 导入源的GPG密钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 8AA7AF1F1091A5FD- 更新源缓存:
sudo apt update- 执行安装命令即可完成部署:
sudo apt install sawtooth- 删除之前添加的稳定版Sawtooth源配置文件,默认路径为
方案3:手动安装适配依赖(适合需要使用稳定版的场景)
如果必须使用稳定版Sawtooth,可手动安装适配Python3.8的依赖包后跳过apt的依赖检查:
操作步骤:- 安装系统级基础依赖:
sudo apt install libsecp256k1-dev python3-pip- 用pip安装适配Python3.8的secp256k1包:
pip3 install secp256k1- 下载Sawtooth安装包并强制忽略依赖检查安装:
sudo apt download sawtooth && sudo dpkg -i --ignore-depends=python3-secp256k1 ./sawtooth*.deb注意:该方案后续执行apt升级时可能会提示依赖破损,需要自行屏蔽sawtooth相关包的升级提示。
内容的提问来源于stack exchange,提问作者Zarquan
相关产品推荐
相关产品推荐

