pywebview搭建、运行、打包白屏

文章详细介绍了如何禁用微软商店的引流,配置Python环境,包括使用Anaconda、Miniconda、pyenv-win等工具,以及安装Python3.8.10。接着,它涵盖了安装Git、VSCode、nvm并配置Node.js的过程。在项目克隆和初始化后,作者遇到了WebView2初始化失败和应用白屏的问题,通过修改private_mode参数解决了问题。然而,打包过程出现白屏问题,未找到解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、禁用微软商店引流

点击开始菜单输入管理应用执行别名搜索系统设置,将该列表划到最底部,找到python.exepython3.exe,将其设置为关闭状态
这是微软搞的狗皮膏药,强制型环境变量
请添加图片描述

2、配置Python环境

1.考虑版本管理:Anaconda官网Miniconda清华镜像pyenv-win的Github仓库
2.只安装Python:华为镜像阿里镜像newbePython官网ftp地址Python官网中文页面
3.Python嵌入版:Python3.8.10下载页面Python3.8.10嵌入版下载直链、各个镜像的嵌入式压缩包

本篇文章安装Python3.8.10 64位python-3.8.10-amd64.exe
(pywebview 依赖 pythonnet 包,pythonnet于2021年2月19日支持Python3.9版本,Officially support Python 3.9,说是支持但是3.9是安装不上的,还是得3.8)
勾选Add python.exe to PATH,点击Customize installation
在这里插入图片描述
勾选install for all users,点击Install
在这里插入图片描述
如果有Disable path length limit则点击
点击Close按钮,完成安装
请添加图片描述
运行pip config list -v获取可能的配置文件路径,参考路径创建配置文件
例如:C:\ProgramData\pip\pip.ini,新建该文件,内容如下

[global]
index-url = https://repo.huaweicloud.com/repository/pypi/simple
trusted-host = repo.huaweicloud.com
timeout = 120

3、安装git

阿里镜像GitClonegit官网
可能的文件名:Git-2.40.0-64-bit.exe

4、VSCode

安装VSCode

5、安装nvm

访问下载地址下载安装nvm:
百度云分享
官网直装链接
nvm的github发行界面下载nvm-setup.exe
GitCode镜像下载nvm-setup.exe(登录获取下载链接,下载链接还是Github的,唯一的作用就是挑选版本的时候快点)

6、配置nvm

nvm install lts安装最新版本的Node.js,本文安装的是18.16.0
nvm install lts启用这个版本
运行cmd /c "nvm -v && node -v && npm -v",正常输出版本号说明安装完成

7、克隆项目

运行https://github.com/pangao1990/vue-pywebview-pyinstaller.git
或者运行git clone https://gitclone.com/github.com/pangao1990/vue-pywebview-pyinstaller.git

8、进入项目

cd .\vue-pywebview-pyinstaller\

9、初始化

npm run init
最后pip会提示版本不是最新可以按提示运行更新pip版本,这个是项目中的虚拟环境的pip,不是电脑本机pip,注意路径

10、启动应用

npm run start
启动失败,Ctrl+C结束运行命令,再启动一次

遇到了WebView2初始化失败的问题
github议题

浏览器访问vite的服务地址:例如http://localhost:3000/,正常访问
在这里插入图片描述
浏览器访问pywebview监听的地址http://127.0.0.1:3549/,Error: 500
在这里插入图片描述
应用空白
在这里插入图片描述

11、设置private_mode为False后再启动应用

修改文件:vue-pywebview-pyinstaller\main.py

    # 启动窗口
    webview.start(debug=Config.devEnv, http_server=True, gui=guiCEF)

改为

    # 启动窗口
    webview.start(debug=Config.devEnv, http_server=True, gui=guiCEF, private_mode=False)

再次运行,npm run start,运行成功
在这里插入图片描述

12、打包

npm run build
打包位置:vue-pywebview-pyinstaller\build\vue-pywebview-pyinstaller.exe
不知道为啥,打包白屏,没报错。。。。无语了。

vue-pywebview-pyinstaller项目

JavaScript和Python打造跨平台客户端应用——vue-pywebview-pyinstaller



请添加图片描述

### Electron与Vite打包运行出现白屏的解决方案 对于Electron与Vite打包运行出现白屏的问题,可以从多个角度来排查并解决问题。 #### 修改路由模式为哈希模式 当使用Vue Router时,默认的历史模式(`history`)可能导致打包后的应用无法正常加载页面。这是因为历史模式依赖于服务器端的支持,在开发环境中通常由开发服务器处理,但在生产环境下可能未正确配置。因此,建议修改路由模式为哈希模式: ```javascript // router/index.ts 或者类似的路径 import { createRouter, createWebHashHistory } from 'vue-router' const routes = [ // 路由定义... ] export default createRouter({ history: createWebHashHistory(), routes, }) ``` 此更改可以确保即使在刷新页面的情况下也能正确导航至指定位置[^3]。 #### 正确设置`loadURL`地址 另一个常见原因是`main.js`或`background.js`中的`BrowserWindow.loadURL()`方法指向了错误的资源路径。如果是在本地启动的服务,则应确保该方法调用了正确的前端服务地址。例如,假设前端服务监听的是8080端口,那么应当这样设置: ```javascript win.loadURL('http://localhost:8080') ``` 如果是通过Nginx或其他反向代理提供静态文件访问,则需相应调整为实际部署环境下的有效URL[^2]。 #### 配置构建工具链 为了防止因网络问题引起的依赖安装失败进而影响最终产物的质量,可以在项目根目录下创建`.npmrc`文件,并加入必要的配置选项以优化下载速度和稳定性。这样做有助于减少由于第三方库获取缓慢而导致的整体流程中断风险。 ```bash # .npmrc 文件内容示例 registry=https://registry.npmmirror.com/ strict-ssl=false timeout=60000 ``` 以上措施能够显著提升国内开发者的工作效率,尤其是在面对频繁更新迭代的需求场景下显得尤为重要。 #### 更新配置文件扩展名 有时简单的文件命名差异也会引发意想不到的结果。如提示信息所示,尝试将原有的`forge.config.js`重命名为`forge.config.cjs`后再执行命令操作,或许能解决某些特定情况下的兼容性难题[^1]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值