Fedora41虚拟环境中gi模块报错及PyGObject安装失败求助
解决方案:Fedora 41虚拟环境中gi模块缺失/安装PyGObject失败问题
问题根源
- Fedora 41中原
python3-gi包已更名为python3-gobject,但虚拟环境默认隔离系统site-packages,即使系统已安装python3-gobject,虚拟环境也无法访问。 - 使用pip安装PyGObject时,缺少系统级Python开发依赖和GTK/Cairo开发库,导致编译失败。
解决步骤
1. 安装系统级依赖包
先补全编译PyGObject所需的系统依赖:
sudo dnf install python3-devel pkg-config gtk4-devel cairo-devel
2. 二选一:虚拟环境安装PyGObject 或 继承系统包
方案A:在现有虚拟环境中安装PyGObject
激活虚拟环境后执行:
source your_venv/bin/activate pip install PyGObject
安装完成后即可正常导入gi模块。
方案B:创建继承系统包的虚拟环境(无需编译)
如果不想编译安装,可创建虚拟环境时允许继承系统site-packages:
# 删除现有虚拟环境(若需保留可跳过此步) rm -rf your_venv # 创建带系统包继承的虚拟环境 python3 -m venv your_venv --system-site-packages # 激活并安装matplotlib source your_venv/bin/activate pip install matplotlib==3.9.2
3. 验证
激活虚拟环境后运行测试代码:
import gi gi.require_version("Gtk", "4.0") import matplotlib.pyplot as plt plt.figure(figsize=(10,7)) plt.show()
内容的提问来源于stack exchange,提问作者Le Magicien Annonyme
相关产品推荐
相关产品推荐

