安装grpcio库失败求助:DialogFlow依赖安装崩溃问题
我之前在搭配Python3.6.9安装grpcio 1.30.0版本时也碰到过一模一样的编译崩溃问题,给你几个亲测有效的解决思路:
方案1:补全系统编译依赖
grpcio的源码安装需要依赖一些系统级的编译工具和库,缺少这些会直接导致编译失败。如果你用的是Ubuntu/Debian系列的系统,先执行下面的命令安装依赖:
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
安装完成后再重新运行pip install grpcio==1.30.0试试,应该能解决编译缺失依赖的问题。
方案2:直接使用预编译wheel包跳过编译
源码编译容易受环境影响出问题,我们可以直接让pip优先使用预编译的二进制包(wheel),彻底绕过本地编译步骤:
pip install grpcio==1.30.0 --only-binary :all:
1.30.0版本针对Python3.6和主流Linux架构都提供了预编译wheel包,这个命令会强制pip拉取对应平台的二进制包,基本能覆盖大部分场景。
方案3:升级pip到最新版本
如果你的pip版本比较旧,可能会在处理wheel包或者源码编译时出现兼容性问题,先升级pip再尝试安装:
pip install --upgrade pip pip install grpcio==1.30.0
附你的报错信息:
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-build-hpq5jtn0/grpcio/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-48xyxihh-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-hpq5jtn0/grpcio/
这个报错的核心是grpcio的源码编译流程失败,上面的几个方案都是围绕解决编译依赖问题或者直接绕过编译来处理的,你可以按顺序试试,大概率能解决问题。
内容的提问来源于stack exchange,提问作者Keiko Mori




