Ubuntu22.04下用pip安装wxPython4.1.1能否指定gtk4编译?
解决Ubuntu 22.04下wxPython编译与安装问题
一、指定GTK4编译wxPython 4.1.1
wxPython 4.1.1支持基于GTK4编译,但pip默认会选用GTK3,你可以通过设置环境变量强制指定GTK版本:
- 先安装编译所需的依赖包:
sudo apt install build-essential libgtk-4-dev libwebkit2gtk-4.0-dev libjpeg-dev libtiff-dev libsdl2-dev libgstreamer-plugins-base1.0-dev libnotify-dev freeglut3-dev libsm-dev - 设置环境变量指定GTK4配置文件,再执行源码编译安装:
export WX_CONFIG=/usr/bin/wx-config-gtk4 pip install wxPython==4.1.1 --no-binary :all:
注:
--no-binary :all:会强制从源码编译,避免使用预编译的wheel包(这类包通常默认基于GTK3构建)。如果系统中找不到wx-config-gtk4,可以先通过apt安装libwxgtk4.0-dev(即你提到的旧版本对应的开发包),它会提供这个配置文件,确保编译时基于GTK4构建。
二、解决wxPython 4.2.0元数据生成失败问题
在Ubuntu 22.04上用pip安装wxPython 4.2.0时出现的元数据生成失败,大多是setuptools版本不兼容或编译依赖不全导致的,可尝试以下方案:
- 先升级pip、setuptools和wheel到最新版本:
pip install --upgrade pip setuptools wheel - 安装完整的编译依赖后,重新执行源码编译安装:
sudo apt install build-essential libgtk-3-dev libgtk-4-dev libwebkit2gtk-4.0-dev libjpeg-dev libtiff-dev libsdl2-dev libgstreamer-plugins-base1.0-dev libnotify-dev freeglut3-dev libsm-dev pip install wxPython==4.2.0 --no-binary :all: - 如果上述方法仍失败,可手动下载wxPython 4.2.0的源码包,解压后进入目录,指定GTK版本编译安装:
export WX_CONFIG=/usr/bin/wx-config-gtk4 # 若需要GTK3则改为wx-config-gtk3 python setup.py build python setup.py install
内容的提问来源于stack exchange,提问作者swiss_knight
相关产品推荐
相关产品推荐

