python打包exe_Python | 用Pyinstaller打包发布exe应用

笔者使用tk开发并打包成了Windows平台下的小工具。

359bee5e4a237971d8319b6b93196120a6cde382.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

工具/原料

Python2.7.11

Pyinstaller 3.1.1

安装Pyinstaller

1

按照习惯,我们使用pip来安装模块。我们一直以来强调,要用最偷懒的方法。写代码的人尤其如此。人生苦短,你要偷懒~

a007a9b1eef97fbd1a573900b74133bad2413382.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

虽然部分第三方模块有独立的exe安装包,不过使用pip安装的另一个好处是,pip会自动安装这个第三方包需要的依赖模块(比如,这里帮我们下载了pypiwin32这个依赖)。这不,又省心不少。

32fbcd41037de137945d2f0ff6c5cf672a5f2a82.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

安装完成后,我们可以在如下路径找到Pyinstaller应用程序。

跟pip在同一个目录

d4071b96b814f4d0d328c561cdfe474ec3832382.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

发布命令介绍

1

有两种方法调用发布流程:

①直接使用Pyinstaller应用程序调用待发布脚本

②用Python调用pyinstaller-script脚本再调用待发布脚本

两种方法用起来没什么差别,方法①少个步骤,就用方法①了咯

47bf594ec28333bf57c438fcdbb8b43ea9db1d82.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

-w指令

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

32fe25ef354f50b8db15a568dc4afa32929c1882.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

560be432939c2cf7aa99d1aa452c5b1b1fde1282.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

-F指令

注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否则是一个带各种dll和依赖文件的文件夹

dd58d02c5b1b1ede8ef7ad8a981fceecd2d90f82.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

4

-p指令

这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可以自己添加路径。不过经过笔者测试,site-packages目录下都是可以被识别的,不需要再手动添加

04201aa355e983ae48fc549968efe07815316982.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

发布和发布路径

1

使用下面的完整发布命令发布独立exe应用

cfadcdd96975f2c46db254f08f0148fe1f420682.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

发布文件的路径为默认的命令行窗口路径下

58021a0148fe1e42db400962c2299a8838130382.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

9bc92713e8e5ecee2097b39ccc704618deda7a82.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

常见问题

在使用Pyinstaller打包成功后,过段时间再打包,发现报错。如果相关的包的版本和代码都没有变更的话,可以尝试卸载Pyinstaller,重新安装。

0d2fe5f202b375d7b657b647515872dadf49d882.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

如果在命令执行过程报没有Pyinstaller这个模块,需要使用完整命令

604e9556ad042e682fc55c5285f85856d43dd182.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

展开阅读全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值