Python打包exe文件方法汇总【4种】

本文详细介绍了将Python代码打包成exe文件的四种方法:py2exe、pyinstaller、cx_Freeze和Nuitka,包括各自的优缺点、使用步骤和常见问题。py2exe因依赖问题被舍弃,pyinstaller和cx_Freeze是常用选择,而Nuitka则能编译成C++代码,提高运行速度但可能在不同环境下运行存在问题。此外,还提到了代码混淆的相关话题。

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


title: Python打包exe文件方法
copyright: true
top: 0
date: 2018-08-11 21:08:21
tags: 打包
categories: Python进阶笔记
permalink:
password:
keywords:
description: 使用py2exe,pyinstaller,cx_Freeze,nuitka对python文件进行打包,尝试进行混淆代码。

“乔治是世界上最后一只平塔岛象龟,而我是世界上最后一个源家后裔,最后一只平塔岛象龟应该为了种族不灭努力地繁殖后代,最后一个源家后裔应该重振家族在黑道中的威望,但是乔治只是想回自己的水坑里去打滚,而我只是想去天体海滩上卖防晒油。”源稚生盯着恺撒的眼睛,“我就是这种人,其实蛇岐八家的黑道事业和秘党的使命对我来说都不重要,我的人生理想就是去卖防晒油。我跟你叔叔不是一种人。”

Python作为解释型语言,发布即公开源码,虽然是提倡开源但是有些时候就是忍不住想打包成exe,不仅仅是为了对代码进行加密,而是为了跨平台。防止有些没有安装py环境的电脑无法运行软件。

目录对python代码打包成exe的方式有4种,py2exe,pyinstaller,cx_Freeze,nuitka,分别对以上4种方法介绍,欢迎纠错和提供新的办法。

py2exe

介绍

py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。

优点:

  1. 可以把python打包成exe

缺点:

  1. 打包好的 exe只能在相同的系统下运行,比如你在XP系统用py2exe打包好的exe只能在XP上运行,在win7上肯定有问题,而且也是存在在别的XP机子上也可能不能运行,因为一些别的机子可能会缺少dll文件什么的,作者我当时之所以抛弃py2exe 也是因为这个原因;

  2. 打包的文件也需要打包同exe下的dll,和一些库的压缩包,不然exe根本跑不起来

  3. 打包时候报始终报RuntimeError: BeginUpdateResource错误,就需要拷贝dll文件。C:\WINDOWS\system32\python27.dll复制到dist目录

  4. 总之毛病一大堆,基本上已经舍弃了

使用

下载地址

安装好后,准备进行打包

准备一个文件x.py,这个x.py就是想要打包成exe。

然后这x.py同目录下新建一个setup.py,内容如下:

#coding=utf-8
from distutils.core import setup
import py2exe
includes = ["encodings", "encod
<think>我们正在处理用户的问题:如何将Python程序打包exe可执行文件。 根据系统级指令,我们需要: 1. 在行内数学表达式使用$...$格式(但这个问题不涉及数学表达式,所以可以忽略)。 2. 独立公式使用$$...$$格式(同样不涉及)。 3. LaTeX语法正确(不涉及)。 4. 使用中文回答。 5. 生相关问题。 6. 在回答中引用的段落末尾自然地添加引用标识。 用户的问题是关于将Python程序打包exe可执行文件。我们有一些引用可以参考。 引用[1]提到了使用PyInstaller的步骤。 引用[2]提到Python打包exe文件方法汇总4种)。 引用[3]提到在Terminal中进入程序所在文件夹,然后使用pyinstaller -F ****.py进行打包。 引用[4]提到使用Nuitka+pyinstaller打包。 但是,请注意,用户的问题并不需要复杂的数学表达式,因此我们主要关注如何清晰地解释打包过程。 根据用户的要求,我们将按照以下步骤回答: 1. 介绍常用的打包工具(如PyInstaller, cx_Freeze, Py2exe, Nuitka等)。 2. 重点介绍PyInstaller,因为它是常用且简单的方法。 3. 提供详细步骤,包括安装和基本命令。 4. 可能提到其他方法作为补充。 5. 生相关问题。 注意:引用标识要自然地添加在引用内容的末尾。 回答结构: - 开头介绍打包的目的和常用工具。 - 详细描述PyInstaller的使用方法(步骤)。 - 简要介绍其他方法。 - 注意事项。 - 生相关问题。 由于引用[1][2][3][4]提供了部分信息,我们将参考它们,但也要确保信息的准确性和完整性。 现在,我们开始撰写回答。</think>### 如何将Python程序打包exe可执行文件Python程序打包为可执行文件(.exe)主要使用第三方工具,以下是详细步骤和常用方法: #### 1. **使用PyInstaller(推荐)** - **安装**:在命令行执行 ```bash pip install pyinstaller ``` - **基本打包**:进入程序目录后执行 ```bash pyinstaller -F your_script.py ``` - `-F` 参数生单个exe文件 - 打包后在`dist`文件夹获取exe文件[^3] - **高级选项**: - 添加图标:`--icon=icon.ico` - 隐藏控制台:`--windowed`(GUI程序) - 示例:`pyinstaller -F --icon=app.ico app.py` #### 2. **其他常用工具** | 工具 | 安装命令 | 打包命令 | 特点 | |-------------|-----------------------------|----------------------------------|--------------------------| | **cx_Freeze**| `pip install cx-freeze` | `cxfreeze your_script.py --target-dir dist` | 支持跨平台 | | **Py2exe** | `pip install py2exe` | 需编写`setup.py`配置文件 | 仅限Windows | | **Nuitka** | `pip install nuitka` | `nuitka --standalone your_script.py` | 编译为C代码,性能更高[^4] | #### 3. **打包注意事项** - 路径问题:程序内文件路径需改为绝对路径(使用`os.path.dirname(__file__)`) - 依赖缺失:手动添加数据文件(`--add-data "file;."`) - 杀毒误报:部分工具生exe可能被误判,需添加信任 - 文件大小:基础exe约6-10MB,可通过UPX压缩(添加`--upx-dir`路径) #### 4. **验证与测试** 1. 在`dist`文件夹运行exe 2. 在没有Python环境的电脑测试 3. 检查控制台报错(若打包时未隐藏) > ⚠️ 注意:打包后程序仍可能被反编译,敏感逻辑建议用Cython加密[^2]。
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

浪子燕青啦啦啦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值