最近使用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_使用Py2Exe for Python3创建自己的exe程序相关推荐

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

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

  2. python编写exe程序教程_使用Py2Exe for Python3创建自己的exe程序示例

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

  3. python3_将多个.py文件打包成exe程序并添加图标

    前言  我们开发的脚本一般都会用到第三方包,当别人需要用到我们脚本的时候,如果我们直接把xxx.py文件发给她,她是没有办法直接使用的,她还需要安装python解释器和安装我们使用的第三方包,这个时候 ...

  4. python反编译exe_实战 Python3.7+64位 Exe 反编译

    记得有年在上海弘连培训,其中一个逆向题就是关于python的Exe,当时就想着写个文档,后来因为忙就拖延了下来:这里补上,而且是大补上:奉献一个干货,网上没有(我没发现)Python3.7的反编译教程 ...

  5. py2exe打包python_Python使用py2exe打包程序介绍

    一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2e ...

  6. python3创建多线程的几种方法

    python3创建多线程主要有下面两种方法:函数.类 1.函数创建多线程 python3中,提供了一个内置模块threading.Thread,可以很方便的创建多线程,threading.Thread ...

  7. python3创建定时任务

    python3创建定时任务 文章目录: 一.time模块实现定时任务 1. 睡眠机制 2.取余数的方式 二.datetime模块实现睡眠机制 三.用threading 线程模块实现定制任务 四.用sc ...

  8. Python使用py2exe打包exe程序

    py2exe可以将Python程序打包成exe程序,使得可以在没有Python环境的机器上运行. 首先编写一个hello_test.py文件: from time import sleepif __n ...

  9. 怎么把写好的python代码打包成exe-详解如何将python3.6软件的py文件打包成exe程序...

    在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序.在浏览网上的资料来看,有利用pyinstaller和cx_Freeze进行 ...

最新文章

  1. selenium + python自动化测试环境搭建
  2. 选红叶家装不就得了,用得着这么费事吗?!
  3. SpringMVC拦截静态资源的解决方法
  4. 无论腾讯是自主开放还是被开放,我们都表示欢迎和支持
  5. php 发送smtp邮件
  6. CompletableFuture详解~thenAcceptAsync
  7. “新基建”横空出世,9本书助你把握7+2大领域风口
  8. centos7救援模式--单机模式(单用户模式)
  9. C#LeetCode刷题之#824-山羊拉丁文​​​​​​​(Goat Latin)
  10. test dword ptr [eax],eax ; probe page.
  11. Hyper-v网络配置
  12. cvi调用matlab dll,cvi通过artix调用matlab
  13. 园子是技术的园子吗?
  14. 计算机硬盘如何安装系统,如何对新计算机硬盘进行分区并安装系统
  15. Java8 - 定制归一化收集器(reducing)得到自定义结果集
  16. 使用VS2019配置EDK2安装教程
  17. Hark的数据结构与算法练习之计数排序
  18. 男人帮所有手机铃声下载|左永邦手机铃声下载,顾小白手机铃声下载,米琪手机铃声下载,艾米手机铃声下载...
  19. 电机matlab程序计算公式,MATLAB用于电机电磁计算的计算机编程
  20. 虚拟机VMware的安装和Ubuntu安装过程

热门文章

  1. ASP.NET Core中使用表达式树创建URL
  2. 使用ML.NET实现基于RFM模型的客户价值分析
  3. 为什么 web 开发人员需要迁移到. NET Core, 并使用 ASP.NET Core MVC 构建 web 和 API
  4. RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World
  5. ASP.NET Core 之 Identity 入门(二)
  6. 【Microstation】第一章:Microstation三维模型构建概述
  7. 【经典回放】多种语言系列数据结构算法:队列(C版)
  8. 【小程序】刘一哥课堂随机点名提问神器V1.0(附源程序)
  9. Android插件化开发之AMS与应用程序(客户端ActivityThread、Instrumentation、Activity)通信模型分析
  10. Hibernate 持久化状态、HQL语句大全(转)