Python(.py)文件打包为.exe文件

在我们使用IDE完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序。

在浏览网上的资料来看,有利用pyinstaller和cx_Freeze两种进行打包的方法。

方法一:使用cx_Freeze

关于cx_Freeze打包的方法,可以参考wangdamozhizhou博客windows下cx_Freeze生成Python可执行程序中的方法。由于方法主要是可以用于Python3.3版本的,高于该版本的Python无法使用。在我尝试的过程中,碰到的一个问题是:

安装cx_Freeze-4.3.3,找不到cxFreeze.bat

解决的方法是,在cmd命令行操作下,切换至放置cx_Freeze-4.3.3文件的Python安装目录下scripts目录下,使用以下代码自动生成:

python cxfreeze-postinstall

由于我安装的Python版本是3.6.2版本的,版本相对较新,cx_Freeze还没有更新版本至3.6版本。在我尝试很多次数失败后,决定采用pyinstaller来进行文件打包的方法。

方法二:使用pyinstaller

1)安装:
  • 采用命令行操作的办法
    在cmd命令行中,输入代码:
pip install pyinstaller
  • 或者采用更新、升级的方法:
pip install --upgrade pyinstaller
  • 采用下载文件+cmd操作的办法

首先,前往PyInstaller网站下载:http://www.pyinstaller.org/downloads.html
这里写图片描述

下载后,将压缩文件解压缩在Python安装目录下,进入该文件:

这里写图片描述

cmd中进入该目录输入命令:
这里写图片描述
···
python setup.py install
···
随后进行安装pyinstaller,显示如下状态,看到“Finished processing dependencies for PyInstaller==3.3.dev0+41c426f6d”,即安装成功:

这里写图片描述

- Linux下安装,我们在终端内输入

sudo pip install pyinstaller
  • 进入项目路径下,执行:
pyinstaller -F 文件名(.py)

在dist目录下就有.exe文件了,双击就可以运行

- 2).使用

将cmd的目录切换至(命令:cd 文件路径(注意空格))需要打包的py文件目录下:
这里写图片描述
并输入代码,格式为使用命令:pyinstaller -F 文件名(带后缀py):

pyinstaller -F test.py

常用参数说明:

–icon=图标路径
-F 打包成一个exe文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含exe以及其他一些依赖性文件
-h 来查看参数说明

等待命令跑完
这里写图片描述
返回目标路径,发现该目录下生成了一个.spec文件test.spec:这里写图片描述

而打包好的exe文件,在同目录的dist文件中:
这里写图片描述

由此,py文件打包好为exe文件。

同时我们还可以使用pyinstaller 通过指定.ico文件改变指定exe程序的图标

pyinstaller -F --icon=my.ico test.py

my.ico 是指定的图标名,需要和当前的test.py文件在同一个目录下

猜你喜欢

转载自blog.csdn.net/Ego_Bai/article/details/81004240