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文件
双击运行,出现窗口
python 转 exe -- py2exe库实录相关推荐
- Python生成exe可执行文件的两种方法(py2exe和pyinstaller)
C:\Users\Administrator>python -m pip install py2exe D:\Python\Python38\python.exe: No module name ...
- python转exe模块安装(py2exe/Pyinstaller/cx_freeze)
实验多次,pip安装最好用,其他下载的安装包都是各种问题导致最后报错 现在主流的python转exe的模块有三种,以下为大家对着三种模块的评价和基本介绍 大家的评价 打包成单独一个exe文件 支持py ...
- python 程序打包成exe py2exe
python 程序运行需要特定的python环境,如何直接打包成windows直接运行的程序,不依赖特定的python环境呢? 使用py2exe 1.py2exe 的安装 直接使用pip instal ...
- 《Python程序设计》题库(2)
侵权联系我删除: [写在这里,方便右键百度搜索!] <Python程序设计>题库 填空题 Python安装扩展库常用的是_______工具.(pip) Python标准库math中用来计算 ...
- python 中关于py2exe打包
2019独角兽企业重金招聘Python工程师标准>>> 目录: 2014/07/02 15:53 <DIR> dist 2014/07/02 14:57 <DIR& ...
- 手动制作python的exe可执行程序
手动制作python的exe可执行程序 -- by Leo Jay Python没有内建一个编译为exe的功能.给python程序的部署带来不少的麻烦. 所以就会出现一些py2exe之类的很不错的工具 ...
- python打包exe后https找不到cacert.pem证书解决方法
背景: 程序中引用了requests库,用requests库发送了https请求,一切正常 但用Py2exe打包成exe后,报错: IOError: Could not find a suitable ...
- Python全家福,这些库你认识哪些?
环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...
- py2exe打包python_和python爱好者谈谈如何在新版python中使用py2exe打包可执行程序
大家好,今天和大家聊聊把python程序打包那些事. 我们编写好程序之后,肯定要发给别人使用,如果不给别人使用,你编程序干什么. python编译器本身没有打包的功能,如果我们编写好程序,要想给别人使 ...
最新文章
- bootstrap-wysiwyg中JS控件富文本的用法
- 转 无损转换Image为Icon
- mysql重装要删注册表_Mysql重装问题—删除注册表
- 我国身家超过亿元的有多少人?
- 反编译一款APP然后重新打包(Windows环境)
- 插入法排序c语言程序,插入排序算法及C语言实现
- 计算机专业表白文案,深情表白文案40句
- div 图片滚动 / 文字滚动
- 阜阳师范学院计算机专业,2019阜阳师范学院专业排名
- c语言的数据有常量与,C语言数据与常量.ppt
- java array使用_Java_ArrayLit详细用法
- Android 5.1长按电源键添加重启功能
- 计算机网络专业学python_「非计算机专业」小白如何学好Python?
- Oozie安装ExtJs教程
- qt学习之路(三)之使用QT语言家
- 人大金仓数据库的备份与还原 KingbaseES V8R6
- Linux驱动开发(十三)---USB驱动HID开发学习(鼠标)
- 软件工程阶段性总结(一)——概述
- 《简明python教程》笔记一
- his系统与用友软件对接实现数据同步到erp系统