当前位置:  编程技术>python

python教程之用py2exe将PY文件转成EXE文件

    来源: 互联网  发布时间:2014-10-08

    本文导语:  一、简介 py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序。py2exe是发布在开源许可证下的。 二、安装py2exe 从http://prdownloads.sourceforge.net/py2exe下载并运行与你所安装的Python对应的py2exe版本的ins...

一、简介

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

二、安装py2exe

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

三、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选项将创建一个子目录distbitmaps,其中包含两个.gif文件;一个子目录distfonts,其中包含了所有的.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异常信息堆栈输出到日志文件
  • 使用python删除nginx缓存文件示例(python文件操作)
  • python读文件,写文件操作以及目录操作
  • python读取csv文件示例(python操作csv)
  • 用python代码做configure文件
  • python遍历文件夹并删除特定格式文件的示例
  • Python引用(import)文件夹下的py文件的方法
  • python文件读写并使用mysql批量插入示例分享(python操作mysql)
  • python安装问题,rpm命令显是缺少库文件
  • 简单文件操作python 修改文件指定行的方法
  • python代码制作configure文件示例
  • Python文件操作类操作实例详解
  • python目录操作之python遍历文件夹后将结果存储为xml
  • python使用循环实现批量创建文件夹示例
  • python读写文件操作示例程序
  • python 改文件名等问题
  • python 获取文件列表(或是目录例表)
  • Python批量修改文件后缀的方法
  • Python生成pdf文件的方法
  • python使用os模块的os.walk遍历文件夹示例
  • python逐行读取文件内容的三种方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python 3 Tkinter教程之事件Event绑定处理代码实例
  • python基础教程之python消息摘要算法使用示例
  • Python下Html/xml解析库Beautiful Soup快速入门教程
  • python基础教程之基本内置数据类型介绍
  • juqery的python实现:pyquery学习使用教程
  • python3编写C/S网络程序实例教程
  • numpy官方下载安装以及numpy详细使用教程(Python科学计算)
  • linux iis7站长之家
  • python基础教程之实现石头剪刀布游戏示例
  • Python Tkinter简单布局实例教程
  • python爬虫教程之爬取百度贴吧并下载的示例
  • Python时区设置方法与pytz查询时区教程
  • python基础教程之Hello World!
  • python基础教程之类class定义使用方法
  • python基础教程之lambda表达式使用方法
  • python进阶教程之文本文件的读取和写入
  • python基础教程之udp端口扫描
  • python基础教程之基本数据类型和变量声明介绍
  • python的类变量和成员变量用法实例教程
  • python基础教程之缩进介绍
  • python进阶教程之模块(module)介绍
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python不使用print而直接输出二进制字符串
  • 使用setup.py安装python包和卸载python包的方法
  • Python中实现json字符串和dict类型的互转
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • Python开发者社区整站源码 Pythoner
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • 新手该如何学python怎么学好python?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3