Windows下Python2.7.18使用pip安装PyGObject报错求助
解决Windows下Python 2.7安装PyGObject的编译错误
刚帮你排查了这个安装报错,核心问题有两个:一是Python 2.7已经停止维护,很多依赖包不再提供适配的预编译版本,只能走源码编译流程;二是编译pycairo时找不到Cairo库的头文件cairo.h,直接导致编译中断。
下面给你两种解决思路,优先推荐第一种:
一、优先升级到Python 3.x(最省心的方案)
Python 2.7在2020年就结束生命周期了,不仅后续pip版本会彻底放弃支持,绝大多数开源库也停止了对它的维护,后续还会遇到更多依赖兼容问题。
如果你能升级到Python 3.8及以上版本,直接执行:
pip install PyGObject
PyPI上有适配Windows的预编译wheel包,不需要自己折腾依赖编译,大概率一次就能安装成功。
二、必须保留Python 2.7的情况下(不推荐)
如果因为项目历史限制必须用Python 2.7,得手动解决依赖编译问题:
1. 安装Cairo开发库
pycairo是Cairo图形库的Python绑定,编译它必须要有Cairo的头文件和库文件。你需要:
- 找到适配Windows(x64/x86,要和你Python的位数对应)、Python 2.7的Cairo预编译开发包,包内必须包含
cairo.h等头文件和.lib库文件。 - 把Cairo的
include目录添加到系统环境变量INCLUDE,lib目录添加到LIB,这样编译工具才能找到所需的头文件和库。
2. 手动安装pycairo
优先找预编译的wheel包安装,避免源码编译的麻烦:
- 找到对应Python 2.7、Windows版本的pycairo wheel文件,执行:
pip install pycairo-xxx-win_amd64.whl
如果找不到合适的wheel包,只能源码编译,安装时手动指定Cairo路径:
pip install pycairo --global-option=build_ext --global-option="-I你的Cairo头文件路径" --global-option="-L你的Cairo库文件路径"
3. 安装PyGObject
等pycairo安装成功后,再执行:
pip install PyGObject
同样建议优先找适配Python 2.7的预编译wheel包,能减少很多编译报错的概率。
内容的提问来源于stack exchange,提问作者Maahi




