使用Micromamba安装PyQtGraph后Qt版本不符问题求助
解决PyQtGraph检测到Qt版本过低的问题
问题背景
使用以下environment.yml创建conda环境后,运行应用时PyQtGraph提示Qt版本仅为5.12.10,不满足其>=5.15的要求:
name: my-env channels: - conda-forge - nodefaults dependencies: - python=3.9 - pydm - matplotlib - pyyaml - Qt>=5.15 - pip: - git+https://gitlab.cnpem.br/SOL/GUI/sol-widgets@python_package platforms: - linux-64
创建环境命令:
micromamba env create -f environment.yml --prefix /path/to/env/my-env
运行命令:
micromamba run -p /path/to/env/my-env pydm -m "MY_MACROS" my_application.py
收到警告:
/usr/local/scripts/envs/kb-gui-env/lib/python3.9/site-packages/pyqtgraph/colors/palette.py:1: RuntimeWarning: PyQtGraph supports Qt version >= 5.15, but 5.12.10 detected. from ..Qt import QtGui
解决方案
1. 确认环境中实际安装的Qt版本
先排查环境中是否真的安装了符合要求的Qt版本,运行以下命令:
# 查看Qt相关包版本 micromamba list -p /path/to/env/my-env | grep -E "(qt|pyqt)" # 或者直接从Python中检测 micromamba run -p /path/to/env/my-env python -c "from PyQt5.QtCore import QT_VERSION_STR; print(QT_VERSION_STR)"
如果输出确实是5.12.x,说明依赖冲突导致conda没有安装指定的Qt>=5.15版本。
2. 替换Qt依赖为具体的PyQt绑定包
Qt是conda中的元包,可能对应不同的Qt绑定(如PyQt5、PySide2),而PyQtGraph通常使用PyQt5/PyQt6。直接指定PyQt版本更可靠,修改environment.yml中的依赖:
# 替换原来的Qt>=5.15为 - pyqt>=5.15
3. 排查依赖冲突来源
如果修改后仍安装旧版本Qt,查看哪个包强制依赖Qt5.12:
micromamba repoquery whoneeds -p /path/to/env/my-env qt=5.12.10
例如,如果是pydm依赖旧版本,可尝试指定pydm的最新兼容版本:
- pydm>=1.13.0 # 确认该版本支持Qt5.15+
4. 固定PyQtGraph版本(可选)
若需要兼容现有依赖,可选择支持Qt5.12的PyQtGraph版本,比如0.11.x系列,添加到依赖中:
- pyqtgraph<=0.11.1
但更推荐升级Qt到5.15+以获得PyQtGraph的完整功能。
5. 清理并重新创建环境
删除旧环境避免缓存干扰,重新创建:
micromamba env remove -p /path/to/env/my-env micromamba env create -f environment.yml --prefix /path/to/env/my-env
内容的提问来源于stack exchange,提问作者Marco Montevechi Filho
相关产品推荐
相关产品推荐

