使用Py2Exe for Python3创建自己的exe程序
来源:互联网 发布:windows 引导修复 编辑:程序博客网 时间:2024/05/17 23:17
最近使用Python 3.5写了一个GUI小程序,于是想将该写好的程序发布成一个exe文件,供自己单独使用。至于通过安装的方式使用该程序,我没有探索,感兴趣的读者可以自己摸索。
1 介绍
我使用的开发环境是python3.4(实际上我是在另一个64位的台式机上,用python3.5开发的,不过代码不用任何修改即可在python3.4上运行),该环境由Anaconda提供。我开发的小GUI软件为mergeDocGui,该程序功能完备,调试通过,等待转成直接使用的exe程序,以在Windows操作系统下使用。它所提供的功能也是与Windows操作系统紧密联系在一起的。
1.1 Py2Exe介绍及其安装
py2exe for Python3 是一个distutils扩展,可以用来创建python3程序的Windows下的可执行程序(32-bit 和 64-bit);它只能支持Python3.3及以后的版本。用它可以创建命令行下的可执行程序、Windows GUI可执行程序、Windows服务和DLL/EXE COM服务器等。
由于Python3的C运行时库,使得我们在利用Py2Exe创建Python3的可执行程序时,不用写manifest文件。
我发现使用Py2Exe正好符合需求。
软件mergeDocGui是在Python3环境下编写的,因此只能安装针对Python3的Py2Exe。Anaconda套件默认没有安装Py2Exe,需要我们手动安装Py2Exe。在Anaconda环境中的Python3中安装Py2Exe使用如下命令即可:
安装成功后,你可使用如下命令,看是否安装成功:
2 创建exe方法
除了常用的创建setup.py方法外,Py2Exe还提供了一个命令行下的工具build_exe
,让你不费力地直接创建exe文件。
因为我的程序主要为一个mergeDocGui.py
文件,所有使用build_exe
即可。根据Py2Exe for Python3提供的build_exe使用帮助,或者你自己通过命令build_exe -h
查看帮助,我使用如下命令创建自己的exe文件:
当然,首先要保证Python程序在当前文件夹中。在上图中我们可以看出创建exe文件失败。选项-b
表示bundle文件的级别,具体含义请参见帮助。失败原因说的很清楚,需要最小的级别为2,于是我调整bundle文件的级别为2:
我们发现创建成功。立刻在当前文件夹下找到dist文件夹,里面内容如下:
我亟不可待的运行mergeDocGui.exe
程序,发现一个不太好的地方,就是总是会带出来一个console背景,如下:
为了解决上述问题,我参阅了py2exe 0.9.2.0的帮助文档。我采用了通常的先编写setup.py脚本的方法:
from distutils.core import setupimport py2exesetup(windows=['mergeDocGui.py'])
然后再在当前目录下输入一下命令:
最后,我打开dist文件夹中的mergeDocGui.exe
,发现附带的console窗口已经消失了。
至于通过build_exe
命令如何让console窗口消失,等我闲暇的时候再来探索。
3 总结
本文谈论了py2Exe在python3环境中的安装方法,和如何将自己编写的Gui程序(通过tkinter)转换成可在Windows环境下运行的exe程序。这为非程序员使用程序提供极大的便利。至于程序员,由于是程序员吗,直接面向代码就可以了。
- 使用Py2Exe for Python3创建自己的exe程序
- 使用py2exe将python3程序转换成exe文件
- 自己的程序编程变成windows可以运行的.exe文件----py2exe
- 使用py2exe生成独立的exe文件
- 使用py2exe生成独立的exe文件
- 使用py2exe生成独立的exe文件
- 使用py2exe生成独立的exe文件
- 使用py2exe生成独立的exe文件
- Python程序转换为exe程序,py2exe的使用方法
- Python程序转换为exe程序,py2exe的使用方法
- 使用Py2exe将PyQt程序打包为exe文件
- 使用Py2exe将PyQt程序打包为exe文件
- 【Python】使用 py2exe打包Python程序为.exe文件
- 使用Py2exe将PyQt程序打包为exe文件
- 使用py2exe来打包python脚本到exe程序
- .exe控制台程序使用自己的图标
- python3.4下使用py2exe将py脚本打包为exe
- python直接生成exe的方法(使用py2exe)
- 【LeetCode】390. Elimination Game
- 1482.奖学金
- 数据表特殊字段在报表中的表示方法
- Qt之多线程(五)
- 为什么spring注入接口正确而注入接口的实现类错误?
- 使用Py2Exe for Python3创建自己的exe程序
- [react native]学习日志---es6语法学习
- Unix网络编程之一
- Qt之多线程(六)
- position
- 郝斌的C语言基础 163 冒泡排序
- Git基本用法
- Python Tkinter实现的简单计算器
- 高压VF角度计算函数(同异步电机通用) sub_ang_cal()