本文基于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库实录相关推荐

  1. Python生成exe可执行文件的两种方法(py2exe和pyinstaller)

    C:\Users\Administrator>python -m pip install py2exe D:\Python\Python38\python.exe: No module name ...

  2. python转exe模块安装(py2exe/Pyinstaller/cx_freeze)

    实验多次,pip安装最好用,其他下载的安装包都是各种问题导致最后报错 现在主流的python转exe的模块有三种,以下为大家对着三种模块的评价和基本介绍 大家的评价 打包成单独一个exe文件 支持py ...

  3. python 程序打包成exe py2exe

    python 程序运行需要特定的python环境,如何直接打包成windows直接运行的程序,不依赖特定的python环境呢? 使用py2exe 1.py2exe 的安装 直接使用pip instal ...

  4. 《Python程序设计》题库(2)

    侵权联系我删除: [写在这里,方便右键百度搜索!] <Python程序设计>题库 填空题 Python安装扩展库常用的是_______工具.(pip) Python标准库math中用来计算 ...

  5. python 中关于py2exe打包

    2019独角兽企业重金招聘Python工程师标准>>> 目录: 2014/07/02 15:53 <DIR> dist 2014/07/02 14:57 <DIR& ...

  6. 手动制作python的exe可执行程序

    手动制作python的exe可执行程序 -- by Leo Jay Python没有内建一个编译为exe的功能.给python程序的部署带来不少的麻烦. 所以就会出现一些py2exe之类的很不错的工具 ...

  7. python打包exe后https找不到cacert.pem证书解决方法

    背景: 程序中引用了requests库,用requests库发送了https请求,一切正常 但用Py2exe打包成exe后,报错: IOError: Could not find a suitable ...

  8. Python全家福,这些库你认识哪些?

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...

  9. py2exe打包python_和python爱好者谈谈如何在新版python中使用py2exe打包可执行程序

    大家好,今天和大家聊聊把python程序打包那些事. 我们编写好程序之后,肯定要发给别人使用,如果不给别人使用,你编程序干什么. python编译器本身没有打包的功能,如果我们编写好程序,要想给别人使 ...

最新文章

  1. bootstrap-wysiwyg中JS控件富文本的用法
  2. 转 无损转换Image为Icon
  3. mysql重装要删注册表_Mysql重装问题—删除注册表
  4. 我国身家超过亿元的有多少人?
  5. 反编译一款APP然后重新打包(Windows环境)
  6. 插入法排序c语言程序,插入排序算法及C语言实现
  7. 计算机专业表白文案,深情表白文案40句
  8. div 图片滚动 / 文字滚动
  9. 阜阳师范学院计算机专业,2019阜阳师范学院专业排名
  10. c语言的数据有常量与,C语言数据与常量.ppt
  11. java array使用_Java_ArrayLit详细用法
  12. Android 5.1长按电源键添加重启功能
  13. 计算机网络专业学python_「非计算机专业」小白如何学好Python?
  14. Oozie安装ExtJs教程
  15. qt学习之路(三)之使用QT语言家
  16. 人大金仓数据库的备份与还原 KingbaseES V8R6
  17. Linux驱动开发(十三)---USB驱动HID开发学习(鼠标)
  18. 软件工程阶段性总结(一)——概述
  19. 《简明python教程》笔记一
  20. his系统与用友软件对接实现数据同步到erp系统

热门文章

  1. 联想家庭云中心:天边飘来“故乡的云”
  2. WebJars 进行 css js 资源文件管理
  3. java多线程提高性能写法
  4. WinDbg调试.NET程序入门
  5. hibernate的异常 Session was already closed
  6. AIR for IOS开发问题小结
  7. MySQL使用INSERT插入多条记录
  8. @html.ActionLink的几种参数格式
  9. 关于在HP-UX 11iV2系统中安装oracle10g的问题--请大神帮忙!!!
  10. 雅虎向阿里巴巴示好原因有二