python 转 exe -- py2exe库实录

本文基于windows 7 + python 3.4

 

把python程序打包成exe,比较好用的库是py2exe

其操作步骤是:

--> 编写python程序

--> 再额外编写一个导入了py2exe的python脚本(不妨如:setup.py)存在同一目录下

--> 运行这个脚本,打包生成的exe文件保存在一个dist目录下

 

三个例子:

1.命令行

2.GUI (tkinter)

3.GUI (pyqt5)

 

1. 命令行

# hello.pyprint('你好,世界!')

 

复制代码
# setup.pyfrom distutils.core import setup
import py2exe
import sys#this allows to run it with a simple double click.
sys.argv.append('py2exe')py2exe_options = {"compressed": 1,"optimize": 2,"ascii": 0,"bundle_files": 1,        # 其中bundle_files有效值为:# 3 (默认)不打包。# 2 打包,但不打包Python解释器。# 1 打包,包括Python解释器。
setup(name = 'console demo',version = '1.0',console = ['hello.py',],   # console 命令行执行程序# windows  窗口执行程序zipfile = None,options = {'py2exe': py2exe_options})  
复制代码

 

 

现在有两个文件了

 

再进到目录运行上面这个setup.py脚本(亦可双击运行该脚本)

 

然后发现多了一个dist目录

 

可以发现dist目录下生成了一个hello.exe文件

 

再在命令行下执行hello.exe

 

 

 

2. GUI (tkinter)

复制代码
# hello.pyimport tkinter as tkroot = tk.Tk()tk.Label(root, text="你好,世界!").pack(ipadx=100, ipady=50)root.mainloop()
复制代码

 

复制代码
# setup.pyfrom distutils.core import setup
import py2exe
import sys#this allows to run it with a simple double click.
sys.argv.append('py2exe')py2exe_options = {"compressed": 1,"optimize": 2,"ascii": 0,"bundle_files": 2,       # 修改:2(打包,但不打包Python解释器)
setup(name = 'tk demo',version = '1.0',windows = ['hello.py',],   # 修改:windowszipfile = None,options = {'py2exe': py2exe_options}) 
复制代码

说明:

对tkinter打包, "bundle_files" 必须为 2,若是1会报错

 

 

进到目录运行上面这个setup.py脚本

 

可以发现dist目录下生成了一个hello.exe文件和另外几个dll文件

 

双击运行,出现窗口

 

 

 

3. GUI (pyqt5)

复制代码
# hello.py
from PyQt5 import QtWidgets, QtCore, QtGui # 不管是否用到,只要是打包成exe,都要导入import sysapp = QtWidgets.QApplication(sys.argv)root = QtWidgets.QWidget() root.resize(200,100) QtWidgets.QLabel(root, text='你好,世界!') root.show()sys.exit(app.exec_())
复制代码

说明:不管是否用到,都要导入 from PyQt5 import QtWidgets, QtCore, QtGui

 

复制代码
# setup.py

from
distutils.core import setup import py2exe import sys#this allows to run it with a simple double click. sys.argv.append('py2exe')py2exe_options = {"includes": ["sip"], # PyQt5专有#"dll_excludes": ["MSVCP90.dll",], # 鱼友论坛说这句必须有,我的没有也可以"compressed": 1,"optimize": 2,"ascii": 0,"bundle_files": 1, #这里还是1 }setup(name = 'pyqt5 hello',version = '1.0',windows = ['hello.py',], # 窗口执行# PyQt5专有data_files=[("",[r"C:\Python34\Lib\site-packages\PyQt5\libEGL.dll"]),("platforms",[r"C:\Python34\Lib\site-packages\PyQt5\plugins\platforms\qwindows.dll"])],zipfile = None,options = {'py2exe': py2exe_options})
复制代码

说明:对于pyqt5,下面两个是必须的:

①:"includes": ["sip"]
②:data_files=[("",[r"C:\Python34\Lib\site-packages\PyQt5\libEGL.dll"]),("platforms", [r"C:\Python34\Lib\site-packages\PyQt5\plugins\platforms\qwindows.dll"])]


进到目录运行上面这个setup.py脚本

 

可以发现dist目录下生成了一个hello.exe文件和另外几个dll文件

 

双击运行,出现窗口

 

本文转自罗兵博客园博客,原文链接:http://www.cnblogs.com/hhh5460/p/5388204.html,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python网络爬虫面试题,搞定这套Python爬虫面试题(面试会so easy)

搞定这套Python爬虫面试题(面试会so easy)来源:中文源码网 浏览: 次 日期:2019年11月5日【下载文档: 搞定这套Python爬虫面试题(面试会so easy).txt 】(友情提示:右键点上行txt文档名->目标另存为)搞定这套Python爬虫面试题(面试会…

fastjson与spring mvc整合的配置

fastjson 是阿里巴巴开发的开源json解析组件&#xff0c;方便于通过java来生成和解析json格式的字符串和对象。 fastjson可以对Spring的返回数据进行json转换&#xff08;SpringMVC的ResponseBody注释&#xff09; 以下附上与spring mvc整合的xml配置&#xff1a; <mvc:anno…

Python 框架 之 Scrapy 爬虫(一)

在编写爬虫时&#xff0c;性能的消耗主要在IO请求中&#xff0c;当单进程单线程模式下请求URL时必然会引起等待&#xff0c;从而使得请求整体变慢。 1、同步执行 import requestsdef fetch_async(url):response requests.get(url)return responseurl_list [http://www.gith…

编程新手导论(转载)

第二部分 导论&#xff0c;这一部分主要是关于编程的导论&#xff0c; (要懂得一点思想具备一点常识)《设计&#xff0c;编码&#xff0c;&#xff0c;与软工》&#xff08;编程与思想&#xff09;这一章解释了三种思想&#xff0c;原语&#xff0c;抽象&#xff0c;组合&#…

如何让电脑成为看图说话的高手?计算机视觉顶会ICCV论文解读

ICCV&#xff0c;被誉为计算机视觉领域三大顶级会议之一。作为计算机视觉领域最高级别的会议之一&#xff0c;其论文集代表了计算机视觉领域最新的发展方向和水平。阿里巴巴在今年的大会上有多篇论文入选&#xff0c;本篇所解读的论文是阿里iDST与多家机构合作的入选论文之一&a…

canvas绘制线条1像素的问题

http://jo2.org/html5-canvas%E7%94%BB%E5%9B%BE3%EF%BC%9A1px%E7%BA%BF%E6%9D%A1%E6%A8%A1%E7%B3%8A%E9%97%AE%E9%A2%98/转载于:https://www.cnblogs.com/XIE7654/p/7493315.html

php汽车找车位,遭遇到车多车位少 教你如何快速找到停车位

[摘要]车主们大多时间会穿梭在市区&#xff0c;到了目的地后那就先找停车位&#xff0c;现在市区寸土寸金&#xff0c;一个停车位面积要占几平米呢&#xff0c;所以停车位基本是不够用的。下面和大家聊聊怎么找合适的停车位。车主们大多时间会穿梭在市区&#xff0c;去商场购物…

Python 框架 之 Scrapy 爬虫(二)

Scrapy是一个为了爬取网站数据&#xff0c;提取结构性数据而编写的应用框架。 其可以应用在数据挖掘&#xff0c;信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取)所设计的&#xff0c; 也可以应用在获取API所返回的数据(例如 Amazon Ass…

十六进制透明度参照表

00%FF&#xff08;不透明&#xff09; 5%F2 10%E5 15%D8 20%CC 25%BF 30%B2 35%A5 40%99 45%8c 50%7F 55%72 60%66 65%59 70%4c 75%3F 80%33 85%21 90%19 95%0c 100%00&#xff08;全透明&#xff09;转载于:http…

lamp和php,[LAMP]Apache和PHP的结合

在LAMP架构中&#xff0c;Apache通过PHP模块与Mysql建立连接&#xff0c;读写数据。那么配置Apache和PHP结合的步骤是怎么操作的呢&#xff1f;1、修改http.conf文件[rootjuispan ~]# cat /usr/local/apache2.4/conf/httpd.conf......#ServerName......AllowOverride noneRequi…

Day-5: Python高级特性

python的理念是&#xff1a;简单、优雅。所以&#xff0c;在Python中集成了许多经常要使用的高级特性&#xff0c;以此来简化代码。 切片&#xff1a;对于一个list或者tuple&#xff0c;取其中一段的元素&#xff0c;称为切片&#xff08;Slice&#xff09;。 L[start:end]表示…

前端之 XMLHttpRequest

XMLHttpRequest 和AJAX的爱恨情仇 AJAX 是 asynchronous javascript and XML 的简写&#xff0c;中文翻译是异步的 javascript 和 XML&#xff0c;这一技术能够向服务器请求额外的数据而无须卸载页面&#xff0c;会带来更好的用户体验。虽然名字中包含 XML &#xff0c;但 AJAX…

makefile——小试牛刀

//a.h,包含头文件stdio.h,并且定义一个函数print #include<stdio.h> void print();//b.c&#xff0c;包含头文件a.h&#xff0c;然后就可以写print函数的内容了 #include"a.h" void print(){ printf("who are you\n"); }//c.c&#xff0c;包含头文件…

云电脑是什么_云电脑和我们现在平时用的电脑有什么区别?

&#x1f340;温馨提示&#x1f340;公众号推送改版&#xff0c;为了不让您错过【掌中IT发烧友圈】每天的精彩推送&#xff0c;切记将本号设置星标哦&#xff01;~01云电脑&#xff0c;是5G云服务时代的电脑新概念&#xff0c;是电脑的新的一种形态。从具体操作使用上来讲&…

PHP如何用while实现循环,PHP 循环 -

PHP 循环 - While 循环循环执行代码块指定的次数&#xff0c;或者当指定的条件为真时循环执行代码块。PHP 循环在您编写代码时&#xff0c;您经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句来完成这个任务。在 PHP 中&#xff0c;提供了下列循环语…

比较全的C语言面试题

1. static有什么用途&#xff1f;&#xff08;请至少说明两种&#xff09; 1).限制变量的作用域 2).设置变量的存储域 2. 引用与指针有什么区别&#xff1f; 1) 引用必须被初始化&#xff0c;指针不必。 2) 引用初始化以后不能被改变&#xff0c;指针可以改变所指的对象…

PHP爬取历史天气

PHP爬取历史天气 PHP作为宇宙第一语言&#xff0c;爬虫也是非常方便&#xff0c;这里爬取的是从天气网获得中国城市历史天气统计结果。 程序架构 main.php <?phpinclude_once("./parser.php");include_once("./storer.php");#解析器和存储器见下文$par…

Python 第三方库之docx

日常上官网 https://python-docx.readthedocs.io/en/latest/ 一、安装 pip install python-docx 二、写入word word 中主要有两种用文本格式等级&#xff1a;块等级&#xff08;block-level&#xff09;和内联等级&#xff08;inline-level&#xff09;word 中大部分内容都…

Unity AI副总裁Danny Lange:如何用AI助推游戏行业?

本文讲的是Unity AI副总裁Danny Lange&#xff1a;如何用AI助推游戏行业&#xff1f; &#xff0c;10月26日&#xff0c;在加州山景城举办的ACMMM 2017大会进入正会第三天。在会上&#xff0c;Unity Technology负责AI与机器学习的副总裁Danny Longe进行了题为《Bringing Gaming…

SPI 读取不同长度 寄存器_SPI协议,MCP2515裸机驱动详解

SPI概述Serial Peripheral interface 通用串行外围设备接口是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM&#xff0c;FLASH&#xff0c;实时时钟&#xff0c;AD转换器&#xff0c;还有数字信号处理器和数字信号解码器之间。SPI&#xff0c;是一种高…