前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序打包

程序打包

作者头像
不可言诉的深渊
发布2019-07-26 17:27:36
8730
发布2019-07-26 17:27:36
举报

之前有人跟我说,不想装Python也希望能运行我之前那个多线程磁力链接搜索神器!有些人就会奇怪了,不装Python也就没有对应的解释器去执行文件,怎么可能可以运行?

实际上它是可以运行的,但是不能直接运行,得使用某种工具将其转换为二进制可执行文件!这类工具主要有两个:py2exe模块和pyinstaller模块。这里我想说Python3.6已经不能用py2exe模块了,所以今天的文章我将使用pyinstaller模块。

初识pyinstaller模块

要想使用这个模块,首先必须检查自己的Python有没有安装这个模块,如果有,自己直接使用就行,如果没有需要通过pip命令安装

安装完之后,就可以直接使用命令提示符执行pyinstaller命令了,执行结果如图所示。

它给出了大概的用法和一个报错,报错里面写着,需要提供一个参数,这个参数是脚本名称。如果想看它的详细用法,就需要执行命令pyinstaller -h,命令部分执行结果(结果太长)如图所示。

开始打包

下面我不会讲解每一个参数的意思,大家应该可以自己翻译,实在不行就机翻,直接进入磁力链接搜索神器的打包教程了,顺便讲几个常用参数的使用教程。如果需要打包之后变成单个exe文件,加上参数-F即可,执行命令pyinstaller -F magnetSearch.py即可,但要保证当前执行命令的路径下面有magnetSearch.py这个文件。但是打包成单个exe文件只能在电脑装了Python解释器才可以运行。可是我最终是想让所有64位系统都可以运行这个程序,32位系统我就不做推广了,毕竟32位系统是过时的玩意了。如果想要没有Python解释器的x64系统执行最终生成的二进制文件,不加任何参数直接打包就行,但这样会有一个问题,程序打包会在当前目录下生成两个文件夹和一个文件,有点不方便管理。可以自己先建立一个文件夹,然后把可执行的脚本文件复制粘贴到刚刚建立的文件夹下。最后直接在该目录下执行命令pyinstaller magnetSearch.py即可。最然这样做确实打包完成了,而且也可以运行,但是大家会发现执行exe文件结束时会出现闪退,为此,刚才全都错了,因为没有控制程序执行的控制台界面,实际上控制界面很简单,程序最后加一个输入语句就可以了,前面的代码我就不放上去了,就多了最后一行的input,之前的代码和上一篇文章的一样,如图所示。

然后使用pyinstaller打包,执行什么命令我就不讲了,上面已经说了。目前为止已经打包完成,最后为了验证没有Python解释器的64位系统能不能用这个,我直接使用虚拟机的windows 7 64位进行测试了。为了排除干扰,我这里只装一个windows 7系统,系统内没有任何软件,除了虚拟机工具和系统自带的一些软件。

在验证之前讲一个比较重要的参数——“-w”,这个参数用在打包带有图形界面的程序,如果加了这个参数,就没有背后那黑黑的控制台,就是一个纯粹的图形界面。这个我就不做验证了,大家可以自己验证。

下面开始验证,首先给大家看一下我虚拟机装了哪些软件,如图所示。

很明显,我这里基本没装任何软件,所以测试起来没毛病,直接拖动文件夹,大家应该都看到文件夹了。点击桌面的magnetSearch文件夹,然后文件夹内依次打开dist文件夹,然后在dist里面打开一个叫magnetSearch的文件夹,接着找到magnetSearch.exe,如图所示。

最后执行这个exe程序就行,看一下效果。

在执行的过程中,大家可能会发现控制台显示不全的情况,至于如何处理这个问题,我相信大家应该都会,将输出到控制台改成写入txt文件就行。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python机器学习算法说书人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档