硬件配置
Linux hostname 6.17.0-20-generic #20~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 01:28:37 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
现状:PyGObject 和 pycairo 等包在安装时需要系统的 libgirepository 和 libcairo2-dev 等头文件。
后果:纯 pip install 会因缺少 C 库头文件而报错中断。
安装情况: 选择全部默认安装
解决方案
- 创建本地 pkgconfig 目录(如果不存在)
sudo mkdir -p /usr/local/lib/pkgconfig
# 写入配置信息
sudo bash -c 'cat << EOF > /usr/local/lib/pkgconfig/girepository-2.0.pc
prefix=/usr
libdir=\${prefix}/lib/x86_64-linux-gnu
includedir=\${prefix}/include/gobject-introspection-1.0
Name: girepository
Description: GObject Introspection repository (Manual Fix for Ubuntu 24.04)
Version: 1.80.1
Requires: glib-2.0 gobject-2.0
Libs: -L\${libdir} -lgirepository-1.0
Cflags: -I\${includedir}
EOF'
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
- 验证(关键)
pkg-config --modversion girepository-2.0
- 版本依赖问题
尝试安装的 pygobject 3.56.2 是极其超前的版本,它要求的 girepository-2.0 版本必须大于等于 2.80.0,Ubuntu 24.04 (Noble) 虽然很新,但它提供的 gobject-introspection 版本是 1.80.1,需要修改版本安装一个能与 Ubuntu 24.04 (GObject 1.80.1) 兼容的 pygobject 版本
手动修改requirements.txt和project.toml和./scripts/install-ibus.sh文件
现状:PyGObject 和 pycairo 等包在安装时需要系统的 libgirepository 和 libcairo2-dev 等头文件。
后果:纯 pip install 会因缺少 C 库头文件而报错中断。
安装情况: 选择全部默认安装
解决方案
尝试安装的 pygobject 3.56.2 是极其超前的版本,它要求的 girepository-2.0 版本必须大于等于 2.80.0,Ubuntu 24.04 (Noble) 虽然很新,但它提供的 gobject-introspection 版本是 1.80.1,需要修改版本安装一个能与 Ubuntu 24.04 (GObject 1.80.1) 兼容的 pygobject 版本
手动修改requirements.txt和project.toml和./scripts/install-ibus.sh文件