python应用---将py文件打包成exe应用程序

写好了python程序,想将它像一个app一样双击就可以运行,或者想发给一个没有python编辑器的朋友,该如何操作?

python开发人员就考虑了这种情况,提供了一系列的库以供使用者解决这些问题。

这里介绍两种情况的打包:

  • 单个py文件打包成EXE应用程序
  • 包含多个文件的python程序打包成EXE应用程序

使用软件:pycharm

目录

单个py文件打包成EXE应用程序

1、下载工具包

2、 运行打包工具

3、大功告成

包含多个文件的python程序打包成EXE应用程序

1、整理文件

2、下载工具包

3、生成.spec文件:

4、修改.spec文件

5、生成EXE可执行文件

双击运行后可能会出现的错误 

单个py文件打包成EXE应用程序

1、下载工具包

个人习惯在pycharm的终端里安装库,在cmd里面也是可以的。如果太慢的话,可以换源

pip install pysimplegui-exemaker -i https://pypi.tuna.tsinghua.edu.cn/simple

很顺利的出现了successfully的字样。

python应用---将py文件打包成exe应用程序_第1张图片

2、 运行打包工具

也是在终端,输入python -m pysimplegui-exemaker.pysimplegui-exemaker

python -m pysimplegui-exemaker.pysimplegui-exemaker

出现这个窗口:

python应用---将py文件打包成exe应用程序_第2张图片

 

点击“Browse”,选中需要打包的py文件。在"Source Python File"内就会出现路径

下面那个"Icon File"就是最终exe文件的图标,就像qq的图标是那只企鹅的意思。图片后缀名需要是.ico格式的。如果没有,不追求美观的话,也可以不用输入。

3、大功告成

点击左下角的"Make EXE",等待几秒即可。

python应用---将py文件打包成exe应用程序_第3张图片

 界面没有一堆的warn和error,最后一行有“DONE”,就成功了。

生成的exe文件位置是和它的py文件所在目录是一致的。

双击就可以使用。完全可以直接发送给朋友,朋友也不需要再去下载相关的软件和库之类麻烦操作。

包含多个文件的python程序打包成EXE应用程序

遇到复杂的代码就是第二种情况了,操作也不是很繁琐。

1、整理文件

非py文件的全部都放进和py文件并列的文件夹里,且确保整理完之后可以正常运行(警告最好也不要出现)

python应用---将py文件打包成exe应用程序_第4张图片

2、下载工具包

终端里安装pyinstaller

pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

在终端进入需要打包文件的所在路径 通过cd命令进去

python应用---将py文件打包成exe应用程序_第5张图片

3、生成.spec文件:

使用下面的命令生成.spec文件。

pyi-makespec -w xxx.py  

这里的xxx代表主函数。

在我这里的主函数是reco.py。

4、修改.spec文件

用记事本打开刚生成的xxx.spec文件,将所有的py文件手动输入到‘Analysis’、所有的非py文件放入’binaries’,将包含py文件、非py文件、xxx.spec文件的路径输入到‘pathes’

python应用---将py文件打包成exe应用程序_第6张图片

这里需要注意一下 :

如果最后运行的时候需要出现控制台,那么还要在.spec文件里修改图片里的这行。

python应用---将py文件打包成exe应用程序_第7张图片

5、生成EXE可执行文件

 输入命令:

pyinstaller -D reco.spec

 开始打包。出现successful就是打包成功。

 

最后生成的EXE文件会出现在dist文件夹里,双击运行。

python应用---将py文件打包成exe应用程序_第8张图片

双击运行后可能会出现的错误 

双击运行后也可能出现令人发指的红色叉叉 。

那就仔细看看弹出的窗口里的英文是什么,再对症下药。

我遇到过以下几种情况:

 1、

python应用---将py文件打包成exe应用程序_第9张图片

这个根据路径把相关的插件删掉就行。

我这里就把_gru_ops.dll删掉了。因为弹窗最后出现了这个.dll未找到。它的位置一般是在dist里面找。 

python应用---将py文件打包成exe应用程序_第10张图片

 2、

python应用---将py文件打包成exe应用程序_第11张图片

这是程序内有input类的交互语句,窗口没打开。根据第四步里的注意事项修改spec就行。然后再执行一遍第五步的语句。

3、

出现no model of什么什么的错误,要么就是你打包的程序里面需要这个库,你没有在终端下载(在终端输入pip install 需要的库,再从头开始进行打包一次)。或者在spec里面的hiddenimports里输入需要的库再重复一遍第五步的语句就行。例如hiddenimports=[‘numpy’]。

     提醒:   尽量减少打包的py文件

你可能感兴趣的:(pycharm,ide,python)