用Pyinstaller打包*.py文件发布exe应用

前提需安装python和Pyinstaller,具体安装步骤请参考:

https://jingyan.baidu.com/article/a378c960b47034b3282830bb.html

下面是完整发布命令发布独立exe应用步骤(需打包的文件名test.py):

1)在cmd命令行下将目录切换到Python安装盘下,如F:\Python\Script;

2)执行命令:pyinstaller.exe -F -w test.py; (注意:如果-w参数存在,控制台上不会显示print打印的信息,如果想要程序中print的信息打印在控制台上,去掉参数-w即可)

如果需要打包成带图标的可执行应用,执行以下命令:pyinstaller.exe -F -i pic.ico test.py

其中,icon图标可在比特虫上在线制作:https://www.bitbug.net/

3)执行步骤2)后,在F:\Python\Script目录下即可看到生成了一个dist文件夹,该文件夹下生成了与打包文件名同名的EXE执行文件,即test.exe;

4)运行生成的exe文件,验证是否为你所需实现的功能即可。

注意:当.py文件运行正常,运行打包后的exe,没有实现py文件的功能,可从以下几个方面进行思考:

1.py文件中是否用到其它文件,该文件是否放置在exe文件的同一目录下;

2.py文件中是否import引进自定义类库文件,而import导入的自定义类库文件是否在打包时加入到打包时生成的文件spec中;

3.py文件中是否存在使用路径,查看路径是否正确,最好写成绝对路径

可能会遇到的问题及解决方法:

Q1.程序代码中使用定时任务模块apscheduler时,scheduler.add_job(monitorLibs, 'interval', seconds=10, args=[sPath,tPath]),不适用pyinstaller打包可正常运行,使用pyinstaller打包成可执行文件后运行会出现以下问题"LookupError:No trigger by the name "interval"/"cron" was found"

解决方法:将代码“scheduler.add_job(monitorLibs, 'interval', seconds=10, args=[sPath,tPath])”修改为以下代码即可

from apscheduler.triggers.interval import IntervalTrigger
#from apscheduler.triggers.cron import CronTrigger

 trigger = IntervalTrigger(seconds=10)
 scheduler.add_job(monitorLibs, trigger, args=[sPath,tPath])

Pyinstaller打包一些其他经验总结,可参考:

https://blog.csdn.net/weixin_42052836/article/details/82315118

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用pyinstaller打包多个.py文件为.exe文件,不出现cmd窗口,可以按照以下步骤进行操作: 1. 安装pyinstaller 在终端(cmd或者powershell)中输入以下命令安装pyinstaller: ``` pip install pyinstaller ``` 2. 创建spec文件 在终端中进入要打包的.py文件所在的目录,输入以下命令创建spec文件: ``` pyinstaller --name=yourappname --onefile --noconsole yourscript1.py yourscript2.py ... ``` 这里的yourappname是你打包后的.exe文件的名称,--onefile表示将所有的依赖文件打包在一个文件中,--noconsole表示不显示命令行窗口(也就是去掉cmd窗口)。 3. 修改spec文件 打开刚刚生成的.spec文件,找到 Analysis 函数,将其改为如下所示: ``` a = Analysis(['yourscript1.py', 'yourscript2.py'], pathex=['.'], binaries=[], datas=[], hiddenimports=[], hookspath=[]) a.datas += [('templates\\*', 'templates')] pyz = PYZ(a.pure, a.zipped_data, cipher=None) exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name='yourappname', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=False ) ``` 其中的a.scripts改为['yourscript1.py']即可。 4. 打包exe文件 在终端中输入以下命令打包exe文件: ``` pyinstaller yourappname.spec ``` 5. 查看exe文件 在dist目录下会生成一个yourappname.exe文件,双击该文件即可运行应用程序,此时不会弹出cmd窗口。 注意:如果你的python环境是64位的,而你打包exe文件需要在32位的系统中运行,那么需要在打包时指定--arch=32选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值