解决问题
通过pip装库,运行打包后的exe失败
命令行输入where python显示Windowsapp的路径
正文
这里我从GitHub下载了一个开源工具,只有源码,开始打包成gui图形化工具
将 Python 脚本(.py)转换为 Windows 可执行文件(.exe),最主流且推荐的方法是使用 PyInstaller。它会把 Python 解释器、你的脚本代码以及所有依赖库打包在一起,让程序能在没有安装 Python 的电脑上运行。
执行pip install pyinstaller
执行打包命令
基本语法是pyinstaller [选项] 你的脚本.py。以下是几个最常用的参数
参数 作用 适用场景 -F或--onefile打包成单个 .exe 文件 方便分发,但启动稍慢 -D或--onedir打包成一个文件夹(默认) 包含多个依赖文件时,启动更快 -w或--noconsole隐藏黑色的命令行窗口 打包带图形界面(GUI)的程序 -c或--console保留命令行窗口(默认) 打包命令行工具,方便看输出 -i或--icon为 exe 设置自定义图标 需要 xxx.ico格式的文件
执行了pyinstaller -F -w my_app.py然后报错

意思是没有pyQt6,找不到库,直接执行pip install PyQt6
但是安装页面出错了,大概是说Failed to establish a new connection就是网不行,这个时候就要换源!用国内的下载网络
执行pip install PyQt6 -i https://mirrors.aliyun.com/pypi/simple/
安装成功(看似)
但是现在又显示
又少了库,那我们继续pip下载,但是发现还是会报错
这个时候考虑python本身的问题了
在cmd中输入where python,发现输出的是C:\Users\syuan\AppData\Local\Microsoft\WindowsApps\python.exe
查询之后发现这个相当于是windows商店的广告,劫持了我们的命令,这个就要配置环境变量了,把py真实位置放到windowsapp上面
尝试过后发现不行,尝试直接用命令行
1 | $p = [Environment]::GetEnvironmentVariable("Path", "User") |
现在where python发现正常了,装库后也能正常运行,生成了正常的exe
总结
打包命令**pyinstaller [选项] 你的脚本.py**
-f打包成一个文件
-w打包成图形化文件
装库命令**pip install xxx**
