如何通过启动脚本在GCP Ubuntu 18.04 VM上正确安装Brownie?
解决GCP Ubuntu 18.04 Minimal实例上Brownie安装失败的方案
问题分析
从日志可定位核心问题:
- 网络连接异常,无法访问PyPI源(
Network is unreachable),导致无法下载指定版本的regex包 - GCE元数据服务认证警告(不影响安装,但可通过后续配置规避)
修正后的启动脚本
以下是确保正确安装Brownie的启动脚本,包含网络优化、依赖补全、源替换等关键操作:
#!/bin/bash # 配置公共DNS,规避内部DNS解析异常 echo "nameserver 8.8.8.8" >> /etc/resolv.conf echo "nameserver 8.8.4.4" >> /etc/resolv.conf # 更新系统并安装编译类基础依赖 apt-get update -y && apt-get upgrade -y && apt-get install python3-pip python3-dev build-essential git libssl-dev libffi-dev -y && # 升级pip并替换为国内PyPI镜像,提升下载稳定性 pip3 install --upgrade pip && pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple && # 安装适配Brownie的Node.js 16.x版本(Ubuntu18.04默认版本过低) curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs && # 安装前置依赖及Brownie pip3 install cython && pip3 install eth-brownie
关键优化说明
- DNS配置:添加Google公共DNS,解决GCP内部DNS解析失败导致的网络不可达问题
- 补全编译依赖:新增
python3-dev、build-essential等工具,确保Python包编译安装正常 - PyPI源替换:使用国内镜像源,避免官方源访问超时或失败的情况
- 升级Node.js:Ubuntu 18.04默认Node.js版本为8.x,无法满足Brownie的依赖要求,升级到16.x可解决兼容性问题
安装验证
SSH登录VM后,执行以下命令确认Brownie安装成功:
brownie --version
内容的提问来源于stack exchange,提问作者Matt - Block-Farms.io
相关产品推荐
相关产品推荐

