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,一经查实,立即删除!

相关文章

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

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

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

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

Python 框架 之 Scrapy 爬虫(二)

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

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

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

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

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

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;是一种高…

20162314 《Program Design Data Structures》Learning Summary Of The First Week

20162314 2017-2018-1 《Program Design & Data Structures》Learning Summary Of The First Week Summary of teaching materials Algorithm analysis is the basic project of the computer science.Increasing function prove that the utilization of the time and spa…

高并发解决方法

2019独角兽企业重金招聘Python工程师标准>>> 高并发来说&#xff0c;要从实际项目的每一个过程去考虑&#xff0c;页面&#xff0c;访问过程&#xff0c;服务器处理&#xff0c;数据库访问每个过程都可以处理。&#xff08;前端-宽带-后端-DB&#xff09; 集群&…

MySQL 之 存储过程

一、初识存储过程 1、什么是存储过程 存储过程是在大型数据库系统中一组为了完成特定功能的SQL语句集&#xff0c;存储在数据库中。存储过程经过第一次编译后&#xff0c;再次调用不需要编译&#xff0c;用户可以通过指定的存储过程名和给出一些存储过程定义的参数来使用它。…

如何root安卓手机_安卓Root+卡开机画面救砖教程丨以一加手机为例

一加手机买到手已经用了1个多月了&#xff0c;还有很多朋友在问我怎么Root、怎么替换Recovery、怎么安装Magisk、有时候刷Magisk模块变砖怎么解救。小编统一整理一下&#xff0c;其他安卓手机也可以参考&#xff0c;很多思路都是通用的。一加手机刷入TWRP并RootTWRP大概是现在安…

unity消息队列判断字符串相等有错误_Python3十大经典错误及解决办法

◆ ◆ ◆ ◆ ◆接触了很多Python爱好者&#xff0c;有初学者&#xff0c;亦有转行人。不论大家学习Python的目的是什么&#xff0c;总之&#xff0c;学习Python前期写出来的代码不报错就是极好的。下面&#xff0c;严小样儿为大家罗列出Python3十大经典错误及解决办法&#xf…

php qmqp 没有方法,CentOS7 php 安装 amqp扩展

继续安装完 rabbitmq后&#xff0c;安装phpqmqp扩展1.安装rabbitmq-c安装最新版wget -c https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gztar zxf rabbitmq-c-0.8.0.tar.gzcd rabbitmq-c-0.8.0./configure --prefix/usr/local/rabbitmq…

CentOS 7镜像下载

方式一 官网下载 官网链接&#xff1a;http://isoredirect.centos.org/centos/7/isos/x86_64/ Actual Country 国内资源 Nearby Countries 周边国家资源 方式二 阿里云下载 阿里云站点&#xff1a;http://mirrors.aliyun.com/centos/7/isos/x86_64/ 各个版本的ISO镜像文件…

Docker Dirty Cow逃逸

2019独角兽企业重金招聘Python工程师标准>>> 在Linux中&#xff0c;有一个功能&#xff1a;VDSO(virtual dvnamic shared object),这是一个小型共享库&#xff0c;能将内核自动映射到所有用户程序的地址空间。 Docker逃逸利用Dirty Cow漏洞&#xff0c;将Payload写到…

创建office一直转圈_Windows写字板出现广告条幅:推荐用户使用在线版Office

自Windows 95开始&#xff0c;写字板(Wordpad)应用就一直预装在Windows操作系统中。它是一款非常简单的文本编辑器&#xff0c;在功能方面介于记事本和Word之间。近日Rafael Rivera发现微软正在为这款古老的写字板添加新功能--在应用中添加广告横幅。这个广告横幅就是推荐那些写…

2017软件工程实践第二次作业

1、 项目地址&#xff1a;https://github.com/one-piece-zero/sudoku 2、PSP表格记录的估计耗时 3、解题思路&#xff1a; 在拿到这个题目的时候&#xff0c;我最早想到的是大一下学期做的程序语言综合设计实践中的N皇后问题&#xff0c;这两个题目之间有许多的类似之处&#x…

CentOS7 安装或迁移 wordpress(完整迁移)

一、安装Apache web服务器 安装Apache web服务器&#xff1a; yum install -y httpd # 使用yum安装 systemctl start httpd # 启动Apache服务器 systemctl enable httpd # Apache服务器开机后自动启动 使用浏览器打开http://127.0.0.1检查Apache安装是否成功。成功后…