IT门户, 中国互联网人工智能物联网行业资讯平台--公众IT

当前位置:公众IT > 技术文章 >

新闻来源:互联网资料整理       发布时间:2023/4/5 22:54:24       共计:4594 浏览

在Python开发过程中,我们除了可以将发布模块打包成 .whl 格式的文件,也可以打包成可执行的exe 程序。这样即使在没有Python的环境中仍然可以直接运行程序,提升使用效率。

接下来就分享一下,如何使用 PyInstaller库将发布模块打包成 exe格式文件。

PyInstaller 安装

建议使用 pip的方式进行安装,否则可能会报缺失其它依赖库的情况,需要逐个手动安装。

pip install PyInstaller

PyInstaller 使用

如下,简单代码示例WriteFiles.py模块,其中导入了Python内置库time模块和第三方库csv模块,实现每次运行时,创建新的csv文件,源码如下。

WriteFiles.py模块的当前目录结构,如下:


在该模块目录内执行如下命令,将WriteFiles.py 打包成exe格式文件。

pyinstaller WriteFiles.py

执行日志如下:

在运行完成后,我们在当前目录中可以看到生成了.buildWriteFilesWriteFiles.exe文件,如下:

我们双击执行 WriteFiles.exe,可以发现在当前目录下,新增了WriteFile_1573221278.csv文件。

从上面的例子中,我们发现生成的文件数量太多了,如何进行简化生成结果?

我们可以尝试使用其中 -n 参数,使得仅生成一个文件名为 Hello.exe 的应用程序,执行如下命令:

pyinstaller -F -n Hello.exe WriteFiles.py

我们可以看到在当前目录中生成了 .distHello.exe 应用程序文件,目录结构如下。


最后,除了 PyInstaller 库能够将模块打包成 exe 应用程序,pyexe库也可以实现相同效果的打包,这里就不做单独的介绍了。

最简单的方式就是安装pyinstaller,一个专门用于Python程序打包的工具,可以轻松将Python脚本打包为Windows环境下的exe文件(也支持Linux打包),下面我简单介绍一下操作过程,感兴趣的朋友可以尝试一下:

01安装pyinstaller

首先,需要安装pyinstaller模块,这个直接打开cmd窗口,在命令行下输入命令“pip install pyinstaller”即可,如下,程序会自动开始下载和安装过程,后面就可直接使用这个命令进行脚本打包:

02打包exe

1.安装完成后,我们就可以直接开始打包过程了,这里为了方便演示,我新建了一个py脚本,测试代码如下,一个简单的GUI窗口,基于wxPython,后面就是将这个程序打包为exe文件:

2.接着打开cmd窗口,切换到这个脚本所在的目录,直接输入命令“pyinstaller -F -w 脚本名”程序就会开始自动打包过程,如下,F代表打包为一个单独exe,w代表去掉调试窗口,还有更多参数和功能可参考帮助文档,介绍的非常详细:

3.打包成功后,会在当前目录下生成一个dist子目录,里面就有我们生成的exe文件,直接双击程序就可直接运行,不过这里打包出的exe文件比较大,而且包之间的依赖关系不能很好解决,存在一定缺陷,需要改进:

目前,就分享这一种非常简单的打包方式吧,可以轻松将Python脚本打包为Windows环境下的exe文件,Linux环境下类似,只要你熟悉一下使用过程,很快就能掌握的,当然,还有许多其他打包工具,像py2exe等也都非常不错,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

Python脚本转换为Windows环境运行的exe文件,在没有部署python的电脑上直接运行你的程序!!只需简单两步!

PS:鉴于目前py2已经被官方淘汰,以下所有命令均在Python3下试验。

1、安装pyinstaller

借助于Python强大的包管理工具pip,我们只需一条命令即可搞定pyinstall的安装。

pip3 install pyinstall

2、命令行中输入pyinstall命令完成脚本转换

pyinstaller yourprogram.py

具体的opts参数解释如下:

-F 指定打包后只生成一个exe格式的文件(建议写上这个参数)

-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)

-c –console, –nowindowed 使用控制台,无界面(默认)

-w –windowed, –noconsole 使用窗口,无控制台-p 添加搜索路径,让其找到对应的库。

-i 改变生成程序的icon图标


举个栗子

我们写一个最简单的例子,使用Python代码输出当前时间,具体如下:

生成Windows环境下可执行文件exe的具体命令如下:

pyinstaller -F .test.py

此时,我们可以看到,在py原始脚本的同级目录下,生成了build和dist文件夹,其中dist文件夹下存放我们想要的exe程序,build文件夹可以删除。

怎么样?是不是很简单啊!

有人可能会怀疑,这是不是个假的exe啊?有图有真相,直接运行该exe,同样输出当前系统时间:

友情提醒:

1)pyinstaller只能在windows环境下使用。

2)建议路径使用英文,不要包含中文,低版本的pyinstaller可能会出错。

本文为作者“一个程序员的奋斗史”问答原创文章,未经允许转载、抄袭必究!

脚本的意思就是需要一个解释器去解释它并执行,exe是一个二进制文件,里面包含了所有必须的运行库、文件和命令等等,想要把Python脚本放进去,同样也需要把解释器扔进去,那这个exe的尺寸就很可观了。

版权说明:
本网站凡注明“公众IT 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系我们。
·上一条: | ·下一条:
同类资讯
网站首页 关于我们 联系我们 合作联系 会员说明 新闻投稿 隐私协议 网站地图