这里说明下为什么使用cx-frezze来进行打包任务,因为我用的是python3.5,只有cx-frezze
可以实现打包python3以上的程序。
首先需要为python安装cx-frezze模块,可以直接使用pip install
进行安装,或者在这个网站下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/
在上面选择对应你python版本下载就行,下载完成后在windows的cmd模式下进入下载目录,然后pip install 对应的文件名安装就行。
第二部,创建一个python(取名cxsetup.py)文件,然后复制以下内容进入文件:
#coding=utf-8
#cxsetup.py代码
from cx_Freeze import setup, Executable
setup(
name="video_server",
version="1.0",
description="video_server",
author="LCC",
executables=[Executable("video_server.py",targetName
='video_server.exe',icon = "video_server..ico")]
)
上面代码中,name是工程名字,version是版本号,description是描述,author是作者,这些内容都可以随便填,下面的executables按照实际填写,第一个是你的python文件名,targetname是你生成的exe文件的名字,icon是exe图标,所有文件都放在这个py文件同一个目录下,不然会出错。
完成之后打开CMD模式,进入py文件的所在目录,输入python cxsetup.py build然后运行,就会在终端打印一堆东西,等打印完,你就会发现py文件所在目录下出现了一个build文件,你的exe程序就在这个文件里面,你打开之后双击就可以运行了
cx-freeze有一个BUG,就是无法识别 if name == "main"语句,当你的程序里面有这个语句生成的EXE是无法正常运行的
在打包exe程序之前一定要去掉if name == "main" 语句!!!!!!!
在打包exe程序之前一定要去掉if** name** == "main" 语句!!!!!!!
在打包exe程序之前一定要去掉if** name** == "main" 语句!!!!!!!重要的事情说三遍,就这玩意搞了我一早上来检查代码不停重装,后来查百度才发现是cxfreeze的一个BUG!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!