文档章节

用cxfreeze打包Python3.3成exe文件

liaojie
 liaojie
发布于 2014/03/18 16:32
字数 537
阅读 6623
收藏 5

在python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller。

py2exe是这三者里面知名度最高的,但稍微复杂一点的结构就无法完美的解决更不用提py3了

cx_freeze,本次所用的是4.3.2 64bit。

cx_freeze下载地址:http://sourceforge.net/projects/cx-freeze/files/ 

第一步:检查cx_freeze是否安装正确(运行cmd,切换到cxfreeze.bat所在目录,然后执行 "cxfreeze -h" 看看能否出来cx_freeze的帮助信息,如图一)

图一

如果提示系统找不到指定路径(如图二)

将cxfreeze.bat文件进行编辑

打开你的python安装文件夹,例如C:\Python33\Scripts

点击cxfreeze.bat文件右键点编辑,将里面的路径修改为自己的安装路径

如:C:\Python33\python.exe C:\Python33\Scripts\cxfreeze %*

然后保存,关闭记事本,重新执行第一步,看看是否正确。

二、如果安装正确,就可以使用啦

正式开始打包,命令为:cxfreeze hello.py --target-dir dist

命令解释:hello.py 是你要打包的主文件、启动文件

Dist为要目标文件夹,打包后会生成dist目录,里面就有打包后的可执行文件。

注意:只能指定一个要打包的模块,也就是启动模块。所有py文件名都不能有中文字符,否则会出现编码异常。发布后,可执行文件执行路径不能有中文(最好也不要有空格)。

双击生成的exe文件可以使用了是不是很高兴呢?怎么觉得启动的时候后面有个黑糊糊的窗口不舒服?那你在生成命令里面加个参数吧!例子:

cxfreeze hello.py --target-dir dist --base-name=123


注意:

1、将exe放到其他机子上运行,弹出“找不到msvcr100.dll“。手动将”msvcr100.dll“拷贝到dist目录下即可。可以写个脚本把这些都包含进去

2、要去掉exe里的后面黑色控制台窗口就在前面的命令改成

cxfreeze D:\source\game1.0.py(需打包文件路径) --target-dir D:\a(存放exe的目标文件夹路径)--base-name=win32gui





本文转载自:http://huangda-hd.blog.163.com/blog/static/81808426201361741158158/

liaojie
粉丝 29
博文 76
码字总数 12108
作品 0
朝阳
程序员
私信 提问
cxfreeze打包python,飞一般的感觉

总所周知,python因库多,语法优雅,深受开发者的喜爱。 于我来说,写一些小型程序,在不需要考虑太多问题的时候,python无疑是我的第一选择。而有的时候,虽然是小型程序,但我还是需要他们...

肥肥的兔子
09/29
0
0
Linux下cxFreeze的问题

已发到Stackoverflow: http://stackoverflow.com/questions/26154238/no-module-named-cx-freeze-util-cxfreeze-in-python3-4 我安装了cxFreeze发现无法打包pyQt5库(即使手动添加了),总是报......

htfy96
2014/10/01
1K
3
求教python高手,使用cxfreeze生成的exe无法在其他系统使用

本人新手,刚开始学习python,使用pyqt编写了读写Excel的个小工具,使用cxfreeze生成exe后可以在自己电脑上使用。我的电脑系统win7,别人在xp系统下无法运行,想求教高手,python生成的exe是...

就犯困
2015/08/17
936
1
使用cxfreeze将python脚本转化二进制可执行文件

使用说明 以例子说明: 有如下层次结构的脚本文件: main.py/ mod/ init.py module_a.py module_b.py module_c.py mod1/ init.py module_a.py modu...

shawn chen
2013/08/28
428
0
使用Enigma Virtual Box让Py2exe打包出的单文件更完美

做为一个Python爱好者,我主要使用Python写一些小工具方便自己和同事工作。如何让我写的小工具简单的发布给别人使用就成了一个让人头痛的问题,因为大家都知道,Python脚本要打包成一个可执行...

炸酱面
2012/03/23
4.8K
1

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis 源码(二)Mybatis 初始化

Mybatis 初始化是由SqlSessionFactoryBuilder来完成的,主要的工作解析XML文件,并将解析的类容封装到Configuration类中,最后将Configuration类封装到SqlSessionFactory中并返回,自此初始化...

xiaolyuh
13分钟前
3
0
约瑟夫环问题

约瑟夫环问题的原来描述为,设有编号为1,2,……,n的n(n>0)个人围成一个圈,从第1个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m时停止报数,报m的出圈,...

mskk
23分钟前
3
0
JEP解读与尝鲜系列1 - Java Valhalla与Java Inline class

涉及到的JEP: Project Valhalla JEP 169: Value Objects JEP 218: Generics over Primitive Types 这些特性将在JDK14实现 Valhalla项目背景 最主要的一点就是,让Java适应现代硬件:在Java语...

zhxhash
25分钟前
8
0
总结:Redis集群

一、redis集群方案 Master-slave方式,Master和Slave的数据一致,Slave从Master同步数据,然后通过Sentinal(哨兵)监控Master和Slave的健康状态,当异常的时候迅速切换,如Master宕机的时候...

浮躁的码农
28分钟前
5
0
三个盘子的汉诺塔

package base;/** * 汉诺塔 */public class TowerApp { static int nDisks = 3; public static void main(String[] args) { doTowers(nDisks, 'A','B',......

clean123
29分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部