Python 打包成exe程序

本文详细介绍如何使用Pyinstaller将Python应用程序打包成独立的exe文件,包括安装Pyinstaller、使用方法及参数说明,特别关注第三方库的处理与图标更换技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python版本:Python3.5.2

一、安装Pyinstaller

1、安装pywin32

    • 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装 

    • 使用pip命令安装:pip install pywin32

2、安装Pyinstaller

    • 下载安装文件安装:官网

    • 使用pip命令安装:pip install PyInstaller

二、使用Pyinstaller

1、使用下载安装的方式安装的Pyinstaller打包方式

将需要打包的文件放在解压得到的Pyinstaller文件夹中,打开cmd窗口,把路径切换到当前路径打开命令提示行,输入以下内容(最后的是文件名):

    • python pyinstaller.py -F myfile.py

2、使用pip方式安装的Pyinstaller打包方式

打开cmd窗口,把路径切换到文件所在路径(文件随便放在哪里都行)打开命令提示行,输入以下内容(最后的是文件名):

    • pyinstaller -F myfile.py

3、输入参数的含义

  • -F 表示生成单个可执行文件

  • -w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!

  • -p 表示你自己自定义需要加载的类路径,一般情况下用不到

  • -i 表示可执行文件的图标

三、注意事项

  • 文件中使用了第三方库的打包方式

在打包之前务必找到第三方库的包,把包复制到到跟myfile.py同目录下,然后再使用以上2种方式打包,否则会打包失败或者即使打包成功,程序也会闪退。

下面演示一下使用了第三方库的打包方式:

    • 找到第三方库的包,如使用了requests,可以使用查找的方式,找到这个包在哪里,然后把它复制到myfile.py同目录下

    • 把包文件复制到myfile.py目录下

 

    • 给程序换图标的方法
      • 输入命令中添加一个-i tubiao.ico(图标的相对路径)。如图:

四、exe文件生成

  • 如果程序打包过程没有报错,则会生成3个文件夹(有时候是2个),其中名为dist的文件夹中会有一个myfile.exe文件,运行一下,如果没有问题就打包成功,可以把这个exe文件单独拿出去用,其他的生成的文件夹可以删掉了。

    

### 使用 PyInstaller 或 cx_Freeze 将 Python 脚本打包为 Windows 可执行文件 #### 利用 PyInstaller 进行打包 为了将 `my_script.py` 文件转换为适用于 Windows 的单个可执行文件,可以在命令提示符中运行带有特定参数的 PyInstaller 命令: ```bash pyinstaller --onefile my_script.py ``` 如果希望创建一个多文件版本的应用程序,则应采用不同的选项来保持原始项目的结构化布局[^2]。 此操作会自动生必要的文件夹和配置文件用于构建最终产品。整个过程中无需手动干预太多细节,因为 PyInstaller 已经内置了许多自动化处理机制以简化流程[^3]。 #### 应用 cx_Freeze 实现相同目标的方法 对于想要尝试另一种开源方案的人来说,cx_Freeze 提供了一种替代方式来完同样的任务。首先需要安装该库并准备一个名为 `setup.py` 的描述性脚本来定义应用程序的信息以及所需依赖关系。这里给出一段基本模板作为参考: ```python from setuptools import setup import sys sys.setrecursionlimit(3000) build_exe_options = { "packages": [], "excludes": [], } setup( name="MyApp", version="0.1", description='Sample Application', options={"build_exe": build_exe_options}, executables=[Executable("my_script.py")], ) ``` 之后,在命令行里调用如下指令启动实际的编译工作: ```bash python setup.py build ``` 值得注意的是,有时可能会遇到由于递归深度不足而导致的问题;此时可以通过调整上述代码中的设置加以克服[^5]。 无论是哪种方法都能有效地把 Python 编写的软件转变为独立于解释器环境之外的形式,从而方便分发给不具备编程背景的目标用户群体使用[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值