Python py2exe

本文介绍了py2exe工具的基本概念及其如何将Python脚本转换为Windows可执行程序(*.exe)的过程。通过实例演示了如何配置mysetup.py文件来发布包含wxPython、Tkinter等库的应用程序。

一、简介

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的用法

 

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

mysetup.py示例如下:

# mysetup.py

from distutils.core import setup
import py2exe

setup(console=["helloworld.py"])
 

 

然后按下面的方法运行mysetup.py:
python mysetup.py py2exe
上面的命令执行后将产生一个名为dist的子目录,其中包含了helloworld.exe,python24.dll,library.zip这些文件。
如果你的helloworld.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创建了一个控制台的helloword.exe程序,如果你要创建一个图形用户界的程序,那么你只需要将mysetup.py中的console=["helloworld.py"]替换为windows=["myscript.py"]既可。

### 使用 py2exePython 程序转换为可执行文件 为了将 Python 应用程序打包成 Windows 可执行文件,可以采用 `py2exe` 工具。此工具允许开发者创建独立的应用程序分发给不安装 Python 的用户。 #### 安装 py2exe 首先需要确保环境中已安装了 `py2exe`。可以通过 pip 来完成安装: ```bash pip install py2exe ``` 对于特定版本的 Python 和操作系统环境,可能需要注意兼容性问题[^1]。 #### 创建 setup.py 文件 要使用 `py2exe` 打包项目,则需编写一个名为 `setup.py` 的配置脚本,在其中指定哪些模块应该被打包以及如何构建最终的二进制文件。下面是一个简单的例子来说明如何设置这个文件: ```python from distutils.core import setup import py2exe setup( options = {'py2exe': {'bundle_files': 1}}, windows = [{'script': "your_script.py"}], # 如果是控制台应用则改为 console=[{"script": "your_script.py"}] zipfile = None, ) ``` 在此示例中,“your_script.py”应替换为目标 Python 脚本的实际名称。选项 `'bundle_files' : 1` 表明所有的依赖库都将被捆绑到单个 EXE 中;而当 `zipfile=None` 时意味着不会生成额外的数据压缩档案。 #### 构建过程 准备好上述提到的 `setup.py` 后,可以在命令提示符下运行它来进行实际编译操作: ```bash python setup.py py2exe ``` 这将会读取并解析所提供的参数,接着处理必要的导入语句,并尝试定位所有必需的支持文件(如 DLLs 或其他资源),最后输出目标平台上的本地机器码形式的应用程序副本至当前目录下的 `dist/` 子文件夹内。 #### 配置与优化 有时还需要调整一些附加项以适应具体需求,比如包含数据文件、排除不必要的模块或是自定义图标等。这些都可以通过修改 `setup()` 函数中的相应键值对实现。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值