误删Python3.6的pyGObject后重装失败报错求助
解决Python3.6下pyGObject重新安装的编译失败问题
我之前维护旧Python版本项目时也碰到过一模一样的问题——用pip install pygobject时卡在wheel构建环节,本质原因是pyGObject和pycairo这类绑定包需要依赖系统层面的C开发库,缺少这些库的话pip编译源码包就会失败。下面是分系统的解决步骤:
先补全系统依赖包
不同操作系统的安装命令不一样,你对应选择:
Ubuntu/Debian 系列
sudo apt-get update sudo apt-get install libgirepository1.0-dev libcairo2-dev python3.6-dev gcc
一定要指定python3.6-dev,确保和你的Python版本对应,不然编译时会找不到对应版本的头文件。
CentOS/RHEL 系列
sudo yum install gobject-introspection-devel cairo-devel python36-devel gcc
macOS(推荐用Homebrew)
brew install pygobject3 pycairo
macOS下直接用Homebrew装预编译好的包比pip编译省心太多,能避开大部分编译坑。
重新安装pyGObject
补完依赖后再执行安装,要是担心版本兼容问题,可以直接指定你之前用的版本:
pip install pygobject==3.28.2 pycairo==1.16.3
几个额外检查点
如果还是有问题,你可以排查下:
- 是不是没激活正确的Python3.6环境(比如虚拟环境、conda环境)
- gcc这类编译工具是不是真的装好了,执行
gcc --version确认下 - 虚拟环境的话,系统依赖是装在主机系统里的,不用在虚拟环境里重复安装
内容的提问来源于stack exchange,提问作者Ishara Dayarathna
相关产品推荐
相关产品推荐

