Windows pyinstaller wxPython pyecharts无法正常显示问题
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环境非打包情况下使用wxPython
的wx.html2.WebView.New()
使用的是WebViewBackendEdge
的引擎,WebViewBackendEdge
跟Chrome
用的是同一个内核所以能正常显示。 而通过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
打包时指定打包文件, 下面提供两种方法,二选一即可命令行增加
# 增加这个
--add-binary "{HOMEPATH}/wx/WebView2Loader.dll:."
配置文件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无法正常显示问题的更多相关文章
- Windows下命令行Git无法显示中文问题解决方案
Windows下Git设置编码正常显示中文: 在 CMD 下设置环境变量 set LESSCHARSET=utf-8 在 PowerShell 下设置环境变量 $env:LESSCHARSET='ut ...
- 003.当在windows终端输入ipconfig时,显示不是内部或外部命令,也不是可运行的程序或批处理文件
当在windows终端输入ipconfig时,显示不是内部或外部命令,也不是可运行的程序或批处理文件,这是环境变量的问题: 右键我的电脑→→→属性→→→高级系统设置→→→(高级)环境变量 在弹出的窗口 ...
- 最简单的方法是使用标准的 Linux GUI 程序之一: i-nex 收集硬件信息,并且类似于 Windows 下流行的 CPU-Z 的显示。 HardInfo 显示硬件具体信息,甚至包括一组八个的流行的性能基准程序,你可以用它们评估你的系统性能。 KInfoCenter 和 Lshw 也能够显示硬件的详细信息,并且可以从许多软件仓库中获取。
最简单的方法是使用标准的 Linux GUI 程序之一: i-nex 收集硬件信息,并且类似于 Windows 下流行的 CPU-Z 的显示. HardInfo 显示硬件具体信息,甚至包括一组八个的流 ...
- Windows Server 2012 在桌面上显示”我的电脑”
转至:https://jingyan.baidu.com/article/f25ef2544f6883482c1b82e5.html Windows Server 2012 沒有快捷方式显示我的电脑到 ...
- 在Windows Server 2008的桌面上显示“我的电脑”“网上邻居”等图标?
装完windows server2008 r2 x64后发现桌面只有一个“回收站”图标,如何把“我的电脑”“网上邻居”等图标添加到桌面呢?操作步骤: 1. 点击 开始 在搜索中输入 icon 2. 点 ...
- 隐藏windows任务栏中的窗口显示
在实际应用中遇到类似下列需要: 隐藏windows窗口,在windows任务栏中窗口不可见,但应用程序在后台运行. windows应用程序的窗口默认会在任务栏中添加一个可见的窗口项,方便用户操作和在不 ...
- Windows 7下在DebugView中显示调试信息
自Windows Vista以来,调试信息在默认状态下是不显示的.为了显示调试信息,按照如下步骤设置即可: 1. 打开注册表: 2. 在HKLM\SYSTEM\CuurentControlSet\Co ...
- windows 10的资源管理器不显示映射的网络驱动器怎么办?
最近在使用映射网络驱动器的时候出现一个奇怪的现象.事情源于我在资源管理器里面映射了来自多个不同账号的网络驱动器.使用的是win10系统.映射不同账号的网络驱动器是不允许的.于是只能删掉其他账号和凭证重 ...
- EasyPlayerPro Windows播放器全屏模式下GDI显示出现黑屏问题解决
问题来源 2017.12.21 前天有杭州某教育领域客户反馈有部分视频源在全屏模式下显示黑屏: 问题复现 EasyPlayerPro由于没有实现单个窗口完全全屏,故没有暴露该问题,晚上加班,加上单个窗 ...
- Windows服务卸载服务窗口仍显示的问题
关于Windows服务通过命令卸载后, 打开服务窗口,服务还有显示,只是状态改为了禁用,运行停止.那么我们怎么解决呢, 不要心慌,打开你的任务管理器,查看服务所用的exe程序是否还在运行,若有的话,便 ...
随机推荐
- Qt 实现涂鸦板三:实现鼠标绘制矩形
.h 文件 #pragma once #include <QtWidgets/QWidget> #include "ui_xuexi.h" #include " ...
- loguru 简单使用
使用Python自带的 logging 来记录日志会比较麻烦,查了下 大家都在用 loguru,看了下文档,发现是挺好用的,记录下笔记 安装 pip install loguru 简单使用 f ...
- 编程小白也能快速掌握的ArkUI JS组件开发
原文:https://mp.weixin.qq.com/s/ByxCMvtxaNuKI_6cXgtLBg,点击链接查看更多技术内容. Playground自上线以来,得到了广大开发者的一致好评.特别是 ...
- 面向开发者的HarmonyOS 3.0 Beta发布
原文:https://mp.weixin.qq.com/s/y0h5CUMbuFchwT7g-AqaBQ,点击链接查看更多技术内容. 2021年10月,我们面向开发者发布了HarmonyOS 3.0 ...
- 「现代C++设计魅力」虚函数继承-thunk技术初探
简介:工作中使用LLDB调试器调试这一段C++多继承程序的时候,发现通过lldb print(expression命令的别名) 命令获取的指针地址和实际理解的C++的内存模型的地址不一样.那么到底是什 ...
- Quick Audience 营销活动功能一期上线
简介: 营销活动为Quick Audience(QA)用户洞察下的一个功能模块,通过这个模块,可以将QA侧生成的受众以及营销渠道全部关联起来,从营销活动的视角,一站式完成活动目标制定.活动计划制定到 ...
- 阿里云CDN操控2.0版本正式发布
简介: 2021年8月,阿里云边缘云CDN完成过去3年来最大的一次版本升级. 2021年8月,阿里云边缘云CDN完成过去3年来最大的一次版本升级.本次升级根据上万企业客户的使用反馈和行业应用特征,从 ...
- C# 从控制台创建 WinUI 3 应用
本文将告诉大家如何从控制台而不是 WinUI3 模版项目,从零一步步创建出 WinUI 3 应用 本文不是 WinUI 3 入门博客,本文将从比较基础层的方式创建出 WinUI 3 应用,适合于了解 ...
- GitHub 的 Action 接入 Stryker.NET 进行自动化测试单元测试鲁棒性
假设有一个捣蛋的小伙伴加入了你的团队,这个捣蛋的小伙伴喜欢乱改代码,请问此时的单元测试能否拦住这些逗比行为?如果不能拦住逗比行为,是否代表着单元测试有所欠缺,或者有某些分支逻辑没有考虑到.本文将告诉大 ...
- WPF 触摸底层 PenImc 是如何工作的
在 WPF 里面有其他软件完全比不上的超快速的触摸,这个触摸是通过 PenImc 获取的.现在 WPF 开源了,本文就带大家来阅读触摸底层的代码,阅读本文需要一点 C# 和 C++ 基础 现在 WPF ...