打包Python脚本快速启动的方法

本文介绍了如何使用PyInstaller打包Python脚本以提高启动速度。通过使用-D参数生成目录而不是单一exe文件,避免了解压过程,加快了程序启动。在精简目录后,保留必要的dll文件和库,确保程序能在没有Python环境的电脑上运行。此外,提到了关键文件python3.dll的重要性,缺少它会导致运行错误。
摘要由CSDN通过智能技术生成

1、打包python脚本的方法

      打包Python脚本程序为可执行文件exe一般使用pyIntaller,本文介绍的打包的程序源码请参考:分享自己使用python+pyserial+pyQT5写的串口调试助手_fhqlongteng的博客-CSDN博客_python 串口调试助手

2、遇到的问题   

       本博客中make_exe.bat脚本中,-F参数是生成一个exe文件,在单独生成一个exe文件时,启动时很慢,大约有5秒的时间才启动,这个时间太长了。原因是单独打包成一个exe文件时,会把Python的包全部打包,并且进行压缩,每次启动exe文件时,先解压,再运行,所以启动很慢。

2、 解决办法

      使用Pyintaller打包时,使用-D参数,生成一个目录,包含库与可执行文件,这样避免了运行时解压的过程,增加程序的启动速度。如下图,打包生成一个目录,由于打包会包含全部的库,实际程序运行并不使用,所以需要手工删除进行减少文件大小,需要你手工修改文件名称加上“--”,确认有哪些文件改了名字后也不影响程序运行,经过一个个文件的改名确认,最后删除这些文件。 

 3、删除无用文件后的目录

     pycom目录经过删除后,确认保证正常运行的最小文件目录如下:其中只有几箭头标识的文件与应用程序相关,其他文件全部是基于pyqt5编程使用的公共文件。

     PyQt5中只需要2个dll文件即可保持运行,如下图中的2个文件。

    

 4、生成基他应用程序

       有了以上的最小运行目录的情况下,再生成另外一个应用程序,只需要把与应用程序相关的程序增加上,原有的程序保持不变动即可。如下,生成一个uphj-001-test.exe文件,这个应用程序中使用了socket通信,所以只需要在这个最小目录的基础上所需要的文件_socket.pyd, _ssl.pyd增加上即可。

   5、重要的一个文件不能少

       python3.dll文件不能少,否则放在一个无python环境的电脑上面启动的时候会报下图无法执行pyi_rth_qt5脚本的问题。

image.png

       在上面的程序中增加上python3.dll动态库即可以运行了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值