python文件转为exe文件的方法及用法详解


Posted in Python onJuly 08, 2019

一、简介

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

py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序。py2exe是发布在开源许可证下的。

二、安装py2exe

从 http://prdownloads.sourceforge.net/py2exe下载并运行与你所安装的Python对应的py2exe版本的 installer,这将安装py2exe和相应的例子;这些例子被安装在lib\site-packages\py2exe\samples目录下。

三、py2exe的用法

如果你有一个名为myscript.py的python脚本,你想把它转换为运行在windows上的可执行程序,并运行在没有安装python 的 windows系统上,那么首先你应写一个用于发布程序的设置脚本例如mysetup.py,在其中的setup函数前插入语句 import py2exe 。

mysetup.py示例如下:

# mysetup.py
 from distutils.core import setup
 import py2exe
 setup(console=["myscript.py"])

然后按下面的方法运行mysetup.py:

python mysetup.py py2exe

上面的命令执行后将产生一个名为dist的子目录,其中包含了myscript.exe, python24.dll, library.zip这些文件。

如果你的myscript.py脚本中用了已编译的C扩展模块,那么这些模块也会被拷贝在个子目录中,同样,所有的dll文件在运行时都是需要的,除了系统的dll文件。

dist子目录中的文件包含了你的程序所必须的东西,你应将这个子目录中的所有内容一起发布。

默认情况下,py2exe在目录dist下创建以下这些必须的文件:

1、一个或多个exe文件。
2、python##.dll。
3、几个.pyd文件,它们是已编译的扩展名,它们是exe文件所需要的;加上其它的.dll文件,这些.dll是.pyd所需要的。
4、一个library.zip文件,它包含了已编译的纯的python模块如.pyc或.pyo

上面的mysetup.py创建了一个控制台的myscript.exe程序,如果你要创建一个图形用户界的程序,那么你只需要将mysetup.py中的console=["myscript.py"]替换为windows=["myscript.py"]既可。

py2exe一次能够创建多个exe文件,你需要将这些脚本文件的列表传递给console或windows的关键字参数。如果你有几个相关联的脚本,那么这是很有用的。

运行下面个命令,将显示py2exe命令的所有命令行标记。

python mysetup.py py2exe --help

四、指定额外的文件

一些应用程序在运行时需要额外的文件,诸如配置文件、字体、位图。

如果在安装脚本中用data_files可选项指定了那些额外的文件,那么py2exe能将这些文件拷贝到dist子目录中。data_files应包含一个元组(target-dir, files)列表,其中的files是这些额外的文件的列表。

示例如下:

# mysetup.py
from distutils.core import setup
import glob
import py2exe
setup(console=["myscript.py"],
    data_files=[("bitmaps",
          ["bm/large.gif", "bm/small.gif"]),
          ("fonts",
          glob.glob("fonts\\*.fnt"))],
)

说明:data_files选项将创建一个子目录dist\bitmaps,其中包含两个.gif文件;一个子目录dist\fonts,其中包含了所有的.fnt文件。

五、Windows NT services

你可以通过传递一个service关键字参数给setup函数来建造Windows NT services

,这个service参数的值必须是一个Python模块名(包含一service类)的列表。

示例如下:

# mysetup.py
from distutils.core import setup
import py2exe
setup(service=["MyService"])

所建造的可执行的service是可以通过在其后跟一定的命令行参数标记来自行安装和卸载的。你可以通过在这个可执行的service(exe)后跟一-help参数来得到更多的帮助。

六、COM servers

你可以通过传递一个com_server 关键字参数给setup函数来建造Windows NT services

,这个service参数的值必须是一个Python模块名(包含一个或多个COM server 类)的列表。

示例如下:

# mysetup.py
from distutils.core import setup
import py2exe
setup(com_server=["win32com.server.interp"])

默认情况下,DLL和EXE servers被建造,你不需要它们的话你可以简单的删除它们。

总结

以上所述是小编给大家介绍的python文件转为exe文件的方法及用法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
python通过字典dict判断指定键值是否存在的方法
Mar 21 Python
python操作mongodb根据_id查询数据的实现方法
May 20 Python
Python进程间通信之共享内存详解
Oct 30 Python
Python如何快速上手? 快速掌握一门新语言的方法
Nov 14 Python
python对象与json相互转换的方法
May 07 Python
Python函数默认参数常见问题及解决方案
Mar 26 Python
python 使用事件对象asyncio.Event来同步协程的操作
May 04 Python
python创建文本文件的简单方法
Aug 30 Python
Python数据分析库pandas高级接口dt的使用详解
Dec 11 Python
Python快速优雅的批量修改Word文档样式
May 20 Python
Elasticsearch 索引操作和增删改查
Apr 19 Python
简单了解python代码优化小技巧
Jul 08 #Python
python实现在函数图像上添加文字和标注的方法
Jul 08 #Python
python画图——实现在图上标注上具体数值的方法
Jul 08 #Python
简单了解python的break、continue、pass
Jul 08 #Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 #Python
Python+pyplot绘制带文本标注的柱状图方法
Jul 08 #Python
python如何实现异步调用函数执行
Jul 08 #Python
You might like
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
YII路径的用法总结
2014/07/09 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
在Nginx上部署ThinkPHP项目教程
2015/02/02 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
PHP中16个高危函数整理
2019/09/19 PHP
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
vue 动态创建组件的两种方法
2020/12/31 Vue.js
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
softmax及python实现过程解析
2019/09/30 Python
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
我的大学生活职业生涯规划
2014/01/02 职场文书
金融管理应届生求职信
2014/02/20 职场文书
我的理想演讲稿
2014/04/30 职场文书
白血病捐款倡议书
2014/05/14 职场文书
新学期开学演讲稿
2014/05/24 职场文书
企业宗旨标语
2014/06/10 职场文书
2014年绿化工作总结
2014/12/09 职场文书
小学大队委竞选口号
2015/12/25 职场文书
python 通过使用Yolact训练数据集
2021/04/06 Python
nginx结合openssl实现https的方法
2021/07/25 Servers
Golang入门之计时器
2022/05/04 Golang
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server