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

PyInstaller打包的App因pyqtgraph色图问题无法运行

PyInstaller打包pyqtgraph热图遇色图文件缺失的解决办法

办法一:修改.spec文件打包色图资源

PyInstaller默认不会自动打包pyqtgraph的色图配置文件,得手动把这些文件加进去:

  1. 先生成.spec文件(如果还没有的话):执行pyi-makespec 你的脚本文件名.py
  2. 打开生成的.spec文件,找到Analysis部分的datas参数,添加色图目录的打包规则:
    datas=[
        # 把这里的路径换成你本地pyqtgraph安装目录下的colors/maps文件夹路径
        ("/你的python路径/site-packages/pyqtgraph/colors/maps", "pyqtgraph/colors/maps")
    ]
    
    不知道pyqtgraph安装路径的话,打开Python执行import pyqtgraph; print(pyqtgraph.__file__),找到路径后对应定位到colors/maps文件夹即可。
  3. 最后用修改后的.spec重新打包:pyinstaller 你的脚本文件名.spec

办法二:换用内置色图或自定义色图

不想改.spec的话,直接用不需要依赖外部文件的色图:

  • 用内置色图:pyqtgraph自带了像viridis、plasma这类不需要读取外部文件的色图,直接调用就行:
    colorMap = pg.colormap.get("viridis")
    bar = pg.ColorBarItem(interactive=False, values=(0,1), colorMap=colorMap)
    
  • 自定义简单色条:如果只需要基础渐变,手动定义颜色映射就行,完全不依赖外部文件:
    # 示例:从蓝到青再到红的渐变
    color_list = [(0, (0, 0, 255)), (0.5, (0, 255, 255)), (1, (255, 0, 0))]
    colorMap = pg.LinearColorMap(positions=[c[0] for c in color_list], colors=[c[1] for c in color_list])
    bar = pg.ColorBarItem(interactive=False, values=(0,1), colorMap=colorMap)
    

内容的提问来源于stack exchange,提问作者fishbacp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 12:15:48