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

Python2.7环境下PyQt5报‘Image not found’错误求助

解决Python2.7环境下PyQt5动态库加载失败的问题

这种ImportError导致的动态库找不到的问题我之前也碰到过,结合你描述的“之前正常运行、Python3.6环境没问题”的情况,给你几个实用的排查和修复方向:

  • 重新安装PyQt5(针对Python2.7)
    大概率是PyQt5的安装文件出现了损坏或者路径关联异常。先卸载现有版本,再重新安装:

    pip2 uninstall PyQt5 -y
    pip2 install PyQt5==5.15.4
    

    选择5.15.4版本是因为它是最后一批支持Python2.7的PyQt5版本,兼容性更稳定。如果你的环境用了虚拟环境,记得先激活对应的Python2.7虚拟环境再执行命令。

  • 修复动态库的rpath配置
    错误提示里的@rpath是动态库的路径标识,可能是QtWidgets.so里的rpath指向失效了。可以用系统工具来修复:

    1. 先查看当前QtWidgets.so的依赖路径:
      otool -L /Library/Python/2.7/site-packages/PyQt5/QtWidgets.so
      
    2. 找到系统中Qt5库的实际路径(比如通过find / -name "QtWidgets.framework" 2>/dev/null查找),然后用install_name_tool添加正确的rpath:
      # 假设你的Qt5库在/usr/local/opt/qt@5/lib路径下
      install_name_tool -add_rpath /usr/local/opt/qt@5/lib /Library/Python/2.7/site-packages/PyQt5/QtWidgets.so
      
  • 检查系统Qt5库是否完好
    可能是最近系统更新、软件卸载等操作导致Qt5的框架文件丢失或路径变更。先手动确认QtWidgets.framework是否存在:

    find / -name "QtWidgets.framework" 2>/dev/null
    

    如果找不到这个文件,需要重新安装支持Python2.7的Qt5版本(比如通过Homebrew安装qt@5:brew install qt@5)。

  • 临时配置环境变量测试
    可以先通过环境变量指定Qt5库的路径,测试是否能正常运行:

    # 替换成你实际的Qt5库路径
    export DYLD_LIBRARY_PATH=/usr/local/opt/qt@5/lib:$DYLD_LIBRARY_PATH
    # 然后运行你的脚本
    python2.7 /Users/development/Desktop/python_workspace/mail-sorter/process.py
    

    如果测试有效,可以把这个环境变量添加到你的shell配置文件中(比如~/.bash_profile或~/.zshrc),避免每次都手动配置。

内容的提问来源于stack exchange,提问作者Sleepy-Z

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:07:02