Windows pyinstaller wxPython pyecharts无法正常显示问题

最近遇到一个pyinstaller打包wxPython pyecharts无法显示的问题,pyecharts生成的html页面显示空白。未使用pyinstaller打包时显示正常。

问题原因

WebViewBackendDefault = b''
WebViewBackendEdge = b'wxWebViewEdge'
WebViewBackendIE = b'wxWebViewIE'
WebViewBackendWebKit = b'wxWebViewWebKit'
WebViewDefaultURLStr = b'about:blank'

在windows环境非打包情况下使用wxPythonwx.html2.WebView.New()使用的是WebViewBackendEdge的引擎,WebViewBackendEdgeChrome用的是同一个内核所以能正常显示。 而通过pyinstaller打包后pyinstaller找不到对应的配置文件,无法使用WebViewBackendEdge的引擎,所以默认打包的浏览器是IE,而pyecharts默认使用的是最新版本的echarts链接,IE不支持新版本的echarts的特性,导致页面无法显示的问题

方案一

  • 指定低版本的echarts版本,使用低于3.7.0的版本
from pyecharts.globals import CurrentConfig

CurrentConfig.ONLINE_HOST = "https://cdn.jsdelivr.net/npm/echarts@3.6.2/dist/"

方案二

  • pyinstaller打包时指定打包文件, 下面提供两种方法,二选一即可

    1. 命令行增加

       # 增加这个
      --add-binary "{HOMEPATH}/wx/WebView2Loader.dll:."
    2. 配置文件xxx.spec增加

      # -*- mode: python ; coding: utf-8 -*-
      from PyInstaller import HOMEPATH a = Analysis(
      ...
      # 增加这个
      binaries=[(f'{HOMEPATH}/wx/WebView2Loader.dll', '.')],
      ...
      )
  • 完整配置文件xxx.spec

    # -*- mode: python ; coding: utf-8 -*-
    from PyInstaller import HOMEPATH a = Analysis(
    ['main.py'],
    pathex=[],
    binaries=[(f'{HOMEPATH}/wx/WebView2Loader.dll', '.')],
    datas=[('./static/datasets', 'pyecharts/datasets/'), ('./static/templates', 'pyecharts/render/templates/'), ('./static/js', 'static/js/')],
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
    optimize=0,
    )
    pyz = PYZ(a.pure) exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.datas,
    [],
    name='mini-tool',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=False,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon=['static\\icon.png','static\\icon.png'],
    )

Windows pyinstaller wxPython pyecharts无法正常显示问题的更多相关文章

  1. Windows下命令行Git无法显示中文问题解决方案

    Windows下Git设置编码正常显示中文: 在 CMD 下设置环境变量 set LESSCHARSET=utf-8 在 PowerShell 下设置环境变量 $env:LESSCHARSET='ut ...

  2. 003.当在windows终端输入ipconfig时,显示不是内部或外部命令,也不是可运行的程序或批处理文件

    当在windows终端输入ipconfig时,显示不是内部或外部命令,也不是可运行的程序或批处理文件,这是环境变量的问题: 右键我的电脑→→→属性→→→高级系统设置→→→(高级)环境变量 在弹出的窗口 ...

  3. 最简单的方法是使用标准的 Linux GUI 程序之一: i-nex 收集硬件信息,并且类似于 Windows 下流行的 CPU-Z 的显示。 HardInfo 显示硬件具体信息,甚至包括一组八个的流行的性能基准程序,你可以用它们评估你的系统性能。 KInfoCenter 和 Lshw 也能够显示硬件的详细信息,并且可以从许多软件仓库中获取。

    最简单的方法是使用标准的 Linux GUI 程序之一: i-nex 收集硬件信息,并且类似于 Windows 下流行的 CPU-Z 的显示. HardInfo 显示硬件具体信息,甚至包括一组八个的流 ...

  4. Windows Server 2012 在桌面上显示”我的电脑”

    转至:https://jingyan.baidu.com/article/f25ef2544f6883482c1b82e5.html Windows Server 2012 沒有快捷方式显示我的电脑到 ...

  5. 在Windows Server 2008的桌面上显示“我的电脑”“网上邻居”等图标?

    装完windows server2008 r2 x64后发现桌面只有一个“回收站”图标,如何把“我的电脑”“网上邻居”等图标添加到桌面呢?操作步骤: 1. 点击 开始 在搜索中输入 icon 2. 点 ...

  6. 隐藏windows任务栏中的窗口显示

    在实际应用中遇到类似下列需要: 隐藏windows窗口,在windows任务栏中窗口不可见,但应用程序在后台运行. windows应用程序的窗口默认会在任务栏中添加一个可见的窗口项,方便用户操作和在不 ...

  7. Windows 7下在DebugView中显示调试信息

    自Windows Vista以来,调试信息在默认状态下是不显示的.为了显示调试信息,按照如下步骤设置即可: 1. 打开注册表: 2. 在HKLM\SYSTEM\CuurentControlSet\Co ...

  8. windows 10的资源管理器不显示映射的网络驱动器怎么办?

    最近在使用映射网络驱动器的时候出现一个奇怪的现象.事情源于我在资源管理器里面映射了来自多个不同账号的网络驱动器.使用的是win10系统.映射不同账号的网络驱动器是不允许的.于是只能删掉其他账号和凭证重 ...

  9. EasyPlayerPro Windows播放器全屏模式下GDI显示出现黑屏问题解决

    问题来源 2017.12.21 前天有杭州某教育领域客户反馈有部分视频源在全屏模式下显示黑屏: 问题复现 EasyPlayerPro由于没有实现单个窗口完全全屏,故没有暴露该问题,晚上加班,加上单个窗 ...

  10. Windows服务卸载服务窗口仍显示的问题

    关于Windows服务通过命令卸载后, 打开服务窗口,服务还有显示,只是状态改为了禁用,运行停止.那么我们怎么解决呢, 不要心慌,打开你的任务管理器,查看服务所用的exe程序是否还在运行,若有的话,便 ...

随机推荐

  1. C#开发的绑定类型默认应用例子 - 开源研究系列文章

    这次在用C#编写一个看图软件小工具,然后其它的基本完成了,就是绑定看图软件到那些个图片扩展名的时候碰到了问题,就是如何将看图软件绑定图片文件的默认应用,以及解绑默认应用.这个涉及到注册表操作,但是找度 ...

  2. django项目部署到centos

    服务器是使用的阿里云的centos 7.6 项目使用的是 Python3.9.5 + Django 3.2.4 目标:将django项目部署到centos上,centos + Python + dja ...

  3. 面向切面编程AOP[四](java AnnotationAwareAspectJAutoProxyCreator与ioc的联系)

    前言 拿出上一篇的内容: AnnotationAwareAspectJAutoProxyCreator extends AspectJAwareAdvisorAutoProxyCreator Aspe ...

  4. szfpga 高云gowin国产开发板GW2AR-18核心板fpga cpld测试板

    1. 概述 国产FPGA是最近几年起来的产品,具有性价比高特点.而GOWIN属于国产FPGA成员,在服务和芯片都是比较大的优势,很多用户都用在LED控制,电机控制,PLC设备上,以及用于替换Latti ...

  5. 使用纯c#在本地部署多模态模型,让本地模型也可以理解图像

    之前曾经分享过纯c#运行开源本地大模型Mixtral-8x7B 当时使用的是llamasharp这个库和Mixtral的模型在本地部署和推理,前段时间我看到llamasharp更新到了0.11.1版本 ...

  6. 力扣609(java&python)-在系统中查找重复文件(中等)

    给你一个目录信息列表 paths ,包括目录路径,以及该目录中的所有文件及其内容,请你按路径返回文件系统中的所有重复文件.答案可按 任意顺序 返回. 一组重复的文件至少包括 两个 具有完全相同内容的文 ...

  7. 力扣306(java)-累加数(中等)

    题目: 累加数 是一个字符串,组成它的数字可以形成累加序列. 一个有效的 累加序列 必须 至少 包含 3 个数.除了最开始的两个数以外,序列中的每个后续数字必须是它之前两个数字之和. 给你一个只包含数 ...

  8. 牛客网-SQL专项练习2

    ①从学生信息表(student)中提取姓名(name)列值为NULL的记录,SQL语句为: 解析:注意不是只查name值,而是查name值为空的所有信息 SQL语句为: SELECT * FROM s ...

  9. 【pytorch学习】之自动微分

    5 自动微分 求导是几乎所有深度学习优化算法的关键步骤.虽然求导的计算很简单,只需要一些基本的微积分.但对于复杂的模型,手工进行更新是一件很痛苦的事情(而且经常容易出错).深度学习框架通过自动计算导数 ...

  10. 如何使用 PTS 快速发起微服务压测

    ​简介:本文讲阐述什么是微服务架构.微服务架构对系统稳定性带来的影响,以及用性能测试验证稳定性的必要性.用户进行微服务压测的痛点和 PTS 的独特优势.云上使用 PTS 快速发起微服务压测的步骤,以及 ...