pyinstaller打包Python程序为Windows下的exe执行文件

什么情况需要python打包程序?

Python 程序的运行需要 python解释器,若没有安装 python解释器,那就无法运行 python程序。
但是当使用 Python程序的人不会使用命令执行程序,或者也不会安装 Python解释器,又或者就是不想安装那么多东西,就像点击exe执行的情况下,就需要将 Python 程序打包为 Windows下的 exe 程序了。

为了解决这种情况,Python程序的打包就很重要了,打包后的程序中集成了Python运行环境,这样在没有安装Python解释器的服务器上也就可以运行Python程序了。

Python 程序文件的打包方式

  • 使用 pyinstaller 工具进行打包。
  • 使用 py2exe 工具进行打包。

pyinstaller

1. 安装 pyinstaller 模块

运行下面命令

pip install pyinstaller

在这里插入图片描述
如上,显示 Successfully installed 就是安装成功了。

2. pyinstaller 打包单个简单 python 文件

打包使用的命令为

pyinstaller -F python文件名

如何实际操作呢?首先,我们需要先写一个 python 脚本。比如新建一个 test.py 文件,文件内容如下:

# -*- coding:utf-8 -*-

print(123)
print('hello')
print("I'm a man")
print('''python is good!
I like python...''')

Pycharm 中直接右键运行,或者使用 Windows 自带的 cmd 命令行运行 如下,确定脚本可以正常使用。
在这里插入图片描述
在这里插入图片描述

然后,用 Windows cmd 命令行进入脚本所在目录, 执行命令:pyinstaller -F test.py ,回车如下:
在这里插入图片描述
在这里插入图片描述

如上,打印出了一堆东西,信息最后提示了生成了一个 Windows应用程序 test.exe 文件。那让我们来看下都生成了些什么。

在这里插入图片描述
在这里插入图片描述

双击启动,或者在 cmd 命令行启动即可运行

在这里插入图片描述
在这里插入图片描述
这个生成的 test.exe 文件有7M之多,实际的 test.py 脚本文件只有不到 1K。这是因为打包后的 test.exe 文件中包含了Python脚本运行的环境在里面。
这样,你自己写的 Python 脚本就可以直接发给其他人用了,即使不安装 Python 环境也可以运行。

3. pyinstaller 打包多个 python 文件

既然是多文件打包,那首先我们来新建一个文件夹 test,然后在文件夹 test 中新建两个文件 test.pytest2.py和文件夹 tool, 然后在 tool 文件夹中新建文件 test3.py。目录树状图和文件路径展示如下:

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

三个文件夹中的内容如下:

test.py

# -*- coding:utf-8 -*-

from test2 import my_add

print(my_add(20, 15))

test2.py

# -*- coding:utf-8 -*-

from tool.test3 import say_num

def my_add(x, y):
    z = x + y
    return say_num(x, y, z)

test3.py

# -*- coding:utf-8 -*-

def say_num(num1, num2, sum):
    return '{0} + {1} = {2}...'.format(num1, num2, sum)

接着,先运行程序,确认可以正常运行,如下:

在这里插入图片描述

然后就可以使用 pyinstaller -F test.py test2.py tool/test3.py 命令进行打包了。如下:

在这里插入图片描述
在这里插入图片描述

如上图所示,执行成功后会在 dist 文件夹下面生成一个 test.exe 文件。这个就是打包好的文件。

4. pyinstaller通过配置文件打包

下面就来讨论下,当打包的 Python项目脚本文件很多时,应该怎么做。

这第二种方法也是使用 pyinstaller 命令,但是 执行的对象不同
还是用上述的 test 例子来说明。

首先,用 Windows cmd 命令行进入 test 脚本所在目录, 执行命令:pyinstaller -F test.py ,回车,此时会在 test 目录下生成 builddist 文件夹, 还生成了 test.spec 文件,如下图所示:

在这里插入图片描述
删除 builddist 文件夹,保留文件 test.spec,并打开。这个文件是打包时的配置文件,现在我们来修改配置文件,然后使用配置文件进行打包。

打开后的文件内容如下所示:
在这里插入图片描述

由于我们 test 程序没有图片、音乐、视屏等资源文件,所以这里只拿文件列表来说明。在 block_cipher = None 代码后面添加一个脚本文件列表,然后用这个列表替换掉 Analysis()函数的第一个参数即可。如下所示修改内容

在这里插入图片描述

修改完后保存关闭文件,然后执行打包命令:pyinstaller test.spec 回车,运行完后,一样会在dist文件夹下面生成test.exe文件。在文件很多的情况下, 只需要将文件的相对路径添加到**.spec**文件中即可。

值得注意的是: . s p e c 文件必须放在项目的根目录下,即所有的项目文件必须在 . s p e c 文件所在的目录中。 \color{red}{值得注意的是:.spec 文件必须放在项目的根目录下,即所有的项目文件必须在 .spec 文件所在的目录中。} 值得注意的是:.spec文件必须放在项目的根目录下,即所有的项目文件必须在.spec文件所在的目录中。

上面就是我在使用时实际操作的记录,作为笔记分享给你,也为了自己后续查看。

更多详情参考官方网站


下一篇:py2exe打包Python程序为Windows下的exe执行文件

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫叶2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值