python封装可执行文件_Python代码封装成可执行文件方法(单文件和多文件封装)...

2022-04-19 19:03:02

首先,安装Pyinstaller,进入PYTHON目录下Scripts安装,安装Pyinstaller,输入命令:pip install Pyinstaller

2ccba68877f12bd6ba30f02abb6eaf02.png

一、单*.py文件封装

cmd进入python程序项目目录,执行命令:pyinstaller -F -w –icon=xxx.ico main.py –noconsole

其中,-F表示生成单exe可执行文件,-w表示窗体程序,

–icon是设置exe的显示图标,’main.py’是程序的入口,–noconsole 表示不展示cmd窗口,反过来想看cmd窗口就改成–console。*.ico文件可以到网上ico矢量图在线转换工具处理。

一阵刷屏之后,终于打出成功的提示:

程序目录下多了几个文件夹:一个spec文件,build文件夹,一个dist文件夹,其中的dist文件夹内就是我们生成的exe应用程序:

FATAL ERROR:

执行之,应该能看到程序界面,可是……弹出的却是个错误框:Failed to execute script pyi_rth_qt5plugins

这个错误的原因在于pyinstaller找不到PyQt库,通过网上封装好的pyqt安装程序包安装的,则不会出现这个问题,而我们是通过pip安装的。

没有将pyqt的路径加入环境变量。

解决办法是在打包命令中加入paths参数:pyinstaller –paths C:Users……Python35-32/Lib/site-packages/PyQt5/Qt/bin -F -w –icon=roman.ico main.py

或者设置下环境变量。这时,再看下生成的exe,文件大小已经由8.5M增大到14.5M了,再次执行之,ok,看到了我们的界面,而且功能也是ok的。

二、多文件封装

命令格式如下,下命令为一条命令,为方便显示做了分行处理:

pyinstaller [主文件] -p [其他文件1] -p [其他文件2]

–hidden-import [自建模块1]

–hidden-import [自建模块2]

# 以上为一整条命令

pyinstaller main.py -p mysql.py -p other.py –hidden-import mysql –hidden-import other

在目录结构:“程序根目录\dist\main\” 下可以找到生成的main.exe。将其他依赖文件拷贝进入“程序根目录\dist\main\” 下,即可运行。

89e0974c7d6a445f7fd532d89cd28753.png

项目XXX举例,main和ico文件要放一起 -p 文件夹,因为项目下我创建了case、autodriver、data、page文件夹,文件夹里面放的*.py文件通过–hiddent-import指向,代码如下:

pyinstaller -F -i t.ico -w main.py -p case -p autodriver -p data -p page -p page –hidden-import workday.py –hidden-import auto_driver.py –hidden-import login.csv –hidden-import base_page.py –hiddent-import sub_page.py

注意:–hiddent-import是连在一起的,dist文件夹里面要把需要的问卷copy进来,然后整个dist文件夹就可以任意移动到其他位置,到时候运行*.exe文件就可以执行程序了

三、python利用pyinstaller打包的exe文件不带命令行窗口

python利用pyinstaller打包的exe执行后,总是有个命令窗口小黑框,所以这个命令窗口是没有必要存在

7d6856c832919523d1bf4cf0f35d349e.png

首先执行pyinstaller的时候需要带参数-w

-w指令

直接发布的exe应用带命令行调试窗口,在指令内加入-w命令可以屏蔽

pyinstaller -w -F hello.py

注:如果有已经生成的.spec文件,可以直接使用pyinstaller name.spec生成可执行文件

  • 作者:兔老板AirS
  • 原文链接:https://blog.csdn.net/weixin_29958797/article/details/113980020
    更新时间:2022-04-19 19:03:02