最近使用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 setup

import py2exe

setup(windows=['mergeDocGui.py'])

然后再在当前目录下输入一下命令:

最后,我打开dist文件夹中的mergeDocGui.exe,发现附带的console窗口已经消失了。

至于通过build_exe命令如何让console窗口消失,等我闲暇的时候再来探索。

3 总结

本文谈论了py2Exe在python3环境中的安装方法,和如何将自己编写的Gui程序(通过tkinter)转换成可在Windows环境下运行的exe程序。这为非程序员使用程序提供极大的便利。至于程序员,由于是程序员吗,直接面向代码就可以了。

以上这篇使用Py2Exe for Python3创建自己的exe程序示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python编写exe程序教程_使用Py2Exe for Python3创建自己的exe程序示例相关推荐

  1. py2exe支持python3.6_使用Py2Exe for Python3创建自己的exe程序示例

    最近使用Python 3.5写了一个GUI小程序,于是想将该写好的程序发布成一个exe文件,供自己单独使用.至于通过安装的方式使用该程序,我没有探索,感兴趣的读者可以自己摸索. 1 介绍 我使用的开发 ...

  2. py2exe for python3_使用Py2Exe for Python3创建自己的exe程序

    最近使用Python 3.5写了一个GUI小程序,于是想将该写好的程序发布成一个exe文件,供自己单独使用.至于通过安装的方式使用该程序,我没有探索,感兴趣的读者可以自己摸索. 1 介绍 我使用的开发 ...

  3. python编写arcgis脚本教程_面向ArcGIS的Python脚本编程

    前言 1 鸣谢 3 第一部分 Python和地理处理的相关概念 4 第1章 Python简介 4 1.1 引言 4 1.2 Python的特点 4 1.3 脚本语言和程序语言 4 1.4 ArcGIS ...

  4. python编写小游戏教程_用Python开发 写个消消乐小游戏

    提到开心消消乐这款小游戏,相信大家都不陌生,其曾在 2015 年获得过玩家最喜爱的移动单机游戏奖,受欢迎程度可见一斑,本文我们使用 Python 来做个简单的消消乐小游戏. 实现 消消乐的构成主要包括 ...

  5. 用python写脚本看什么书-终于知晓python编写脚本入门教程

    PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成.PyQt5本身拥有超过620个类和6000函数及方法.在可以运行于多个平台.PyQt5拥有双重协议 ...

  6. python编写抢座位软件_程序员硬核Python抢票教程”,帮你抢回家车票

    盼望着,盼望着,春节的脚步近了,然而,每年到这个时候,最难的,莫过于一张回家的火车票. 据悉,今年春运期间,全国铁路发送旅客人次同比将增长8.0%,达到4.4亿人次,2020年铁路春运自1月10日开始 ...

  7. python编写opencv-OpenCV官方教程中文版(for Python)pdf+自己编写的全套目录

    [实例简介] OpenCV官方教程中文翻译版,python语言,自做完整书签方便查找阅读 内容详细,是学OpenCV的必备教程 书虽然挺好的,但是不够全面,不能让读者完全了解 opencv的现状).而 ...

  8. python编写高质量代码_用 Python 编写干净、可测试、高质量的代码

    用 Python 编写干净.可测试.高质量的代码 Noah Gift 2010 年 12 月 20 日发布 简介 编写软件是人所承担的最复杂的任务之一.AWK 编程语言和 "K and R ...

  9. python回合制游戏教程_适合初学者练手的 10 个 有趣Python项目|python教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后 ...

最新文章

  1. 为什么越来越多的人都不再愿意做程序员了?
  2. 什么是正确的JSON内容类型?
  3. Redis:相关知识点纵观
  4. ArcGIS中的坐标系定义与转换 (转载)
  5. 互联网公司Java面试总结
  6. 15个实用的grep示例
  7. jsonp和CORS跨域实现
  8. 软考信息系统项目管理师_信息系统项目管理基础---软考高级之信息系统项目管理师009
  9. 现实JS模板,可设置默认值
  10. java+catch块不执行_Java异常处理机制:try...catch...的执行流程
  11. qt中如何刷新一下屏幕_感情维护:如何在恋爱关系中分开一下,然后更坚强地回来...
  12. 如何利用Python分离文件中的英文和中文?
  13. 使用segue进行页面跳转
  14. 弹性公网ip到底是什么意思?弹性公网ip与公网ip的区别
  15. jdon(jdong)
  16. 【web服务】nginx为什么这么受企业欢迎?看完这边文章你就懂了
  17. 探究斐波那契数列的通项公式
  18. 同源策略 - 学习/实践
  19. 中学生学科学习能力测评
  20. cmd中直接使用pip安装python模块、包

热门文章

  1. 【着迷英语900句】总结
  2. 流媒体开发之-获取直播节目预告-1
  3. LVS三种工作模式及原理详解
  4. 使用WebServlet注解和web.xml配置servlet映射路径的区别及注意事项
  5. iOS开发——常见BUG——window决定程序的状态栏管理问题
  6. Ubuntu 14.04 安装iNode客户端
  7. 保姆级教程:Vagrant 从入门到超神玩法
  8. google earth照片配置地理坐标
  9. 标准输出和标准错误输出
  10. 并行程序设计——OMP编程