赞
踩
采用pyinstaller生成可执行文件,需要安装以下环境:
打开cmd,输入pyinstaller查看pyinstaller是否安装:
若没有安装,则提示:
'pyinstaller' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
确认网络处于连接状态,输入:
'pip install pyinstaller'
安装完成如下图所示
再次输入pyinstaller,确认安装成功:
pyrcc5是PyQt5的附带工具,安装PyQt5会自动生成
'pip install PyQt5'
直接输入pyrcc5:
未安装提示:
'pyrcc5' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
安装pyqt5后提示:
PyQt5 resource compiler
Usage: pyrcc5 [options] <inputs>
Options:
-o file Write output to file rather than stdout
-threshold level Threshold to consider compressing files
-compress level Compress input files by level
-root path Prefix resource access path with root path
-no-compress Disable all compression
-version Display version
-help Display this information
环境安装后,接下来当然是生成对应的可执行文件啦!在cmd模式下,先cd到要生成软件的根目录下,输入:
pyinstaller -F -w xxx.py -i x.ico -n xxx
窗口会打印很多信息,最后一行会看见如下:
INFO: Building EXE from EXE-00.toc completed successfully.
说明可执行文件.exe文件及.spec文件生成成功,并且.exe在存放在自动生成dist文件夹中,自此exe文件就打包生成成功。
注:生成的exe运行不成功可能出现的原因:
*****pycharm debug通过并不代表打包就能成功运行,要严格检查代码格式,实在找不出可用 pyinstaller -F xxx.py -i x.ico -n xxx(去掉-w),运行时在后台查看出错的位置,再进行修正。
在pycharm上运行时:
用pyinstaller生成后运行:
对比以上你会发现,打包生成后图片没有显示出来;这是因为打包时并没有将图片资源一起打包,因此需要运用 pyrcc5 生成图片资源文件,再进行打包才能显示出来。
##解决方法
在根文件目录下新建.qrc文件(Qt中的qrc文件是一个xml格式的资源配置文件),输入:
<RCC>
<qresource prefix="/">
<file>文件名</file>
#多少个文件写多少行
</qresource>
</RCC>
例如:
<RCC>
<qresource prefix="/image/">
<file>x.ico</file>
<file>Red_ball.ico</file>
<file>GreenLed.ico</file>
<file>Black_ball.ico</file>
</qresource>
</RCC>
然后cmd进入命令行,cd到根文件目录,输入:
pyrcc5 -o source.py source.qrc
source.py为生成的图片资源,在所需要用到文件内 import resource,图片名称还是原来的名称,但前面的“.”需要更改为“:”冒号。例如:
"./image/x.ico"改为":/image/x.ico"
修改完后,重新用pyinstaller打包生成.exe文件即可完成图片的打包显示。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。