You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04安装PyQt4时依赖问题求助

Ubuntu 22.04安装PyQt4时依赖问题求助

嗨,我太懂你这种明明装了Python2却还是被依赖问题卡壳的烦躁了!咱们一步步来拆解问题,搞定它。

为什么明明装了Python2.7,apt还是说依赖不满足?

Ubuntu 22.04(Jammy Jellyfish)的官方软件源已经彻底移除了Python2相关的软件包,你通过sudo apt install python装的其实是Python3,之后手动做的软链接只是让命令行的python指向Python2,但apt的依赖检查是看系统中已注册的软件包状态,不是看软链接的——所以apt根本识别不到你“实际存在”的Python2,自然会报错说python包不可安装。

另外,sip-api-12.2是Python2版本的sip库提供的依赖标识,这个库在22.04的源里也没有,得从旧版本的Ubuntu源里找。

解决步骤

1. 添加Ubuntu 20.04(Focal)的软件源

PyQt4的包你是从Focal源下载的,我们直接把Focal的universe源添加到系统,同时设置优先级避免影响系统其他软件:

  • 创建Focal源文件:

    sudo nano /etc/apt/sources.list.d/focal-universe.list
    

    在文件里写入:

    deb http://archive.ubuntu.com/ubuntu focal universe
    

    保存退出(Ctrl+O,回车,Ctrl+X)。

  • 设置源优先级(防止Focal源覆盖系统默认的Jammy包):

    sudo nano /etc/apt/preferences.d/focal-pin
    

    写入以下内容:

    Package: *
    Pin: release n=focal
    Pin-Priority: 50
    

    保存退出。

2. 安装Python2.7的官方包和依赖

现在更新apt缓存,然后安装Python2.7和需要的sip库:

sudo apt update
sudo apt install python2.7 python2.7-dev python-sip

这里python-sip包就是提供sip-api-12.2依赖的关键。

3. 设置Python2为可选默认版本

如果需要让命令行的python指向Python2,可以用update-alternatives来管理:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1

之后可以通过update-alternatives --config python切换Python版本。

4. 安装PyQt4

现在可以直接从Focal源安装PyQt4,比手动下载deb包更稳妥:

sudo apt install python-qt4 python-pyaudio

注意事项

  • Ubuntu 20.04的源已经停止安全更新了,添加这些源会带来一定的安全风险,建议只在专门的环境里运行需要Python2和PyQt4的软件,用完可以考虑移除Focal源。
  • Python2已经完全停止官方支持了,如果有可能,尽量联系软件开发者升级到支持Python3和PyQt5/6的版本,这才是长期的解决方案。

备注:内容来源于stack exchange,提问作者zhang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 16:19:33