鱼C论坛

 找回密码
 立即注册
查看: 25285|回复: 57

[技术交流] 零基础教你利用cx_Freeze将py文件打包成exe文件

[复制链接]
发表于 2015-9-19 15:30:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小牛有话说:

首先小牛写这个帖子必须先向~风介~版主大大的这个帖子利用cx_Freeze将py文件打包成exe文件致敬,下面所讲内容主要取材于版主这个帖子。里面整个过程已经写得很明白了很具体了,小牛之所以还要发帖子是因为自己在关于程序打包这块是零概念,当初钻研版主大大的帖子时走了很多弯路,花了很多精力和时间,做此贴一方面是让自己记住自己在学习新知识当中没有注意到的点,另一方面也使得像小牛这样对于打包是零概念的鱼油们能有丁点的借鉴意义。


本期主要内容导读

Python是一个跨平台的代码语言,我们写完一个py文件后原则上是可以脱离Python的环境在任何一个计算机系统上运行的,而实现这一步就需要打包工具,将我们写的py文件编译成可执行文件,例如在windws下就是exe文件。这里我们推荐的Python打包工具就是cxfreeze。下面我们就如何下载安装该软件,并用此软件对py文件进行打包过程进行详细阐述。


1. 下载适合你Python程序的cxfreeze版本

下载该软件请复制此cxfreeze官方网站链接并打开:https://pypi.python.org/pypi?:ac ... e&version=4.3.3选择下载版本注意下一个和你Python程序版本配套的,比如我安装的版本是Python 3.4.0rc3,那么我要选择的cxfreeze版本就是cx_Freeze-4.3.3.win32-py3.4.exe。


2. 安装cxfreeze软件

下载该软件后,双击该安装包进行安装(最好以管理员身份进行安装吧),安装位置一定要在你安装Python的程序目录下,例如我的是E:\Python34\,那么cxfreeze程序也默认在此目录下。安装完毕后,在安装路径(例如我的路径是E:\Python34\Scripts)的Scripts文件夹下查看是否存在cxfreeze.bat文件,如果不存在就创建一个记事本文件,在里面写入以下这两行字符,中间空一行,第二行中第一个路径代表python.exe所在路径,第二个是cxfreeze所在路径。
@echo off

E:\Python34\python.exe E:\Python34\Scripts\cxfreeze %*

3. 测试cxfreeze软件是否安装成功

首先必须明确后面的打包过程都是在windows系统下的shell里面进行的,通过cmd打开Windows命令输入框,首先将当前工作路径转到Scripts下,具体操作为先输入 E: 回车,再输入 cd Python34\Scripts 回车即可。这时候输入cxfreeze -h 回车,这个是cxfreeze的提示操作,如果屏幕出现很多字符就说明安装正确。这些字符就是一些常用的调用语句,这里我们要用到的有 --target-dir=DIR ,将打包好的执行文件(不仅包含exe文件,还有一些库文件)放到指定目录下。


4. 将py文件打包成可执行文件

当前面测试发现软件安装成功之后,就可以打包文件了。在这里我们要求py文件最好放在根目录下,例如这样一段代码保存成的一个叫try.py文件放在D盘根目录下时,我们想将其打包后放在D盘下的test文件下(如果你没有定义test文件,程序会自动创建)我们需要输入的命令是
cxfreeze d:\try.py --target-dir d:\test回车即可。
def sum(a,b):
    sum1 = a + b 
    return sum1
a = int(input('请输入一个整数'))
b = int(input('请再输入一个整数:'))
m = sum(a,b)
print('这是一个测试程序!')
print(m)

5. 一点补充

如果你的py程序里面包含easygui模块的函数,那么需要再加一句话,前面的打包语句就可以写成
cxfreeze d:\try.py --target-dir d:\test --base-name win32gui回车即可。


6. 常见错误汇总

py文件最好不要太长,且不要出现下划线,例如Python_mat_224.py文件名可能程序识别不了而报无法找到该文件的错误。

评分

参与人数 8荣誉 +39 鱼币 +39 贡献 +27 收起 理由
STmove + 5 + 5 + 3
dong628 + 3 + 4 + 3 支持~~
lizhiyong_11 + 5 + 5 + 3 这个问题困扰我好久了,现在总算有了一点眉.
poiulp + 1 感谢楼主无私奉献!
小甲鱼 + 10 + 10 + 8 支持楼主!
wangguohui + 5 + 5 + 2 感谢楼主无私奉献!
宝贝归来 + 5 + 5 + 3 感谢楼主无私奉献!
~风介~ + 5 + 5 + 5 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-19 22:20:42 | 显示全部楼层
自己先顶一下,希望大家多捧捧场
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-20 19:22:01 | 显示全部楼层
占时还没对打包文件进行接触,
先放着,等用到的时候在好好学习。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-20 21:25:49 | 显示全部楼层
不错嘛,有毅力,给你32个赞!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-20 22:51:43 | 显示全部楼层
~风介~ 发表于 2015-9-20 21:25
不错嘛,有毅力,给你32个赞!

感谢版主,感觉有大家的支持会促使自己坚持下去,而坚持下去肯定会比不坚持好!赠人玫瑰,手有余香!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-22 20:53:39 | 显示全部楼层
支持!榜样!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-22 21:19:49 | 显示全部楼层

感谢,如果觉得还好的话,可以订阅小牛的淘贴来支持小牛哦,这样小牛就更有动力去整理学习中的点点滴滴和大家一起分享了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-23 08:47:02 | 显示全部楼层
醉酒青牛 发表于 2015-9-22 21:19
感谢,如果觉得还好的话,可以订阅小牛的淘贴来支持小牛哦,这样小牛就更有动力去整理学习中的点点滴滴和 ...

好的  !
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-23 12:55:46 | 显示全部楼层

谢谢,以后一起努力喽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-23 16:10:33 | 显示全部楼层
支持牛哥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-23 17:09:32 | 显示全部楼层

感谢支持,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-1 19:36:27 | 显示全部楼层
支持 牛大   虽然暂时用不到这个  还在学习阶段
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2015-12-3 12:29:53 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-30 15:42:15 | 显示全部楼层
先记下,待以后打包的时候用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-21 17:00:38 | 显示全部楼层
看看~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-2-22 17:40:12 | 显示全部楼层
加油加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-28 17:18:03 | 显示全部楼层
又学到新东西了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-1 14:18:25 | 显示全部楼层
谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2016-4-5 16:30:28 | 显示全部楼层
顶一个先,学习中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-5 20:16:05 | 显示全部楼层
谢谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 23:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表