本文是基于Anaconda+PyQt5开发时打包出现的问题,主要和环境变量的丢失有关
pyinstaller命令参数
参数 | 含义 |
---|---|
-F | 将程序打包为一个可执行文件 |
-D | Py代码放在一个目录中(默认状态) |
-d | 打包后的可执行程序为debug模式(打包错误时打印错误信息) |
-w | 不生成命令行窗口 |
-n | -n softname, 制定软件名称 |
–icon/-i | –icon/-i=图标名,制定软件显示图标 |
-v | –version=版本文件(txt形式),增加软件版本信息 |
-upx | 使用UPX压缩可执行程序 |
打包步骤
本文使用的开发环境为PyCharm,如果已经在setting->Extern Tools设置好打包方式可直接右键单击.py文件进行打包,或者使用命令行方式,在本文中使用命令行方式打包。命令行格式为pyinstaller -F-w -i=“icon.ico” main.py(如无图标可舍去-i=“icon.ico”)
如图所示:
打包完成后单击运行main.exe文件出现(此处图片引自其他网站https://i-blog.csdnimg.cn/blog_migrate/3b15f02bdd956a71530de430386793cb.png)
如果出现这种情况,依然要在pycharm下使用命令行格式,pyinstaller -D main.py,即取消 -w 参数,并不进行打包,让其显示命令窗口
此时在dist文件夹下会出现main文件夹,打开main文件夹,里面会有一个main.exe的文件夹,此时按住shift,右击鼠标,选择 “在此处打开powershell”(或命令窗口),打开后将main.exe拖入powershell,并按回车;
如果是“unable to find Qt5xx.dll”,则需要添加相应的环境变量。
打开控制面板搜索环境,打开下图所示路径:
单击环境变量,打开如下图所示,在系统变量中,寻找Path路径,并单击打开
根据Anaconda的安装路径,新建环境变量,并将如下环境变量路径添加进去,并点击确定
此时,在pycharm下利用pyinstaller进行打包,运行后便不会出现问题
而,如果是“no module xxx”,就pip install安装对应的模块