py2exe 入门指南

xyz5201314

贡献于2012-07-02

字数:0 关键词: Python开发

py2exe 入门指南 原文:http://www.py2exe.org/index.cgi/Tutorial Translated By: openspace Date : 2009-10-14 py2exe 将 Python 程序转变为可以在其他 Windows 平台上运行的程序包,而这些机器上 不需要安装 Python。在运行 py2exe 的机器上需要安装 Python,因为 py2exe 是一个 Python 程序,而且它在构建的程序包中会加入 Python 的部分组件。 要掌握该入门指南,你需要知道 Python 的基础知识(可以从 python.org 的页面 getting started 获取这些知识)。你还需要知道如何在命令行提示符下运行 Python 程序 (how to run Python programs from the command prompt)。 要使用 py2exe,在完成安装之后需要按照一些简单的步骤来操作: 1. 创建 / 测试你的程序 2. 创建 构建 脚本( setup.py ) 3. 运行 构建 脚本 4. 测试可执行程序 5. 如果可行的话构建安装程序 程序 创建/测试你的程序 最难的一步往往是第一步。幸运的是,py2exe 通常对这一步几乎没有要求。用 Python 编写的大多数模块都可以和 py2exe 一起工作。许多模块可以不加修改地与 py2exe 一起工 作,而一些第三方模块则需要一些额外的工作。幸运的是从 WorkingWithVariousPackagesAndModules 可以获取帮助 注意在使用 py2exe 之前必须确保程序可以工作。如果 py2exe 处理了一个损坏的程序, 那么可能在 py2exe 中有 bug 需要修复。 我们使用的第一个例子是我们的老朋友: 1 print "Hello World!" hello.py 我们要确保它可以工作: C:\Tutorial>python hello.py Hello World! C:\Tutorial> 看起来不错! 创建 setup 脚本(setup.py) py2exe 用一个新的“命令”扩展了 Distutils。如果你安装过第三方 Pythong 模块,那 么你很可能至少见过一个 distutils 命令: C:\Tutorial>python setup.py install “install”是一个用于安装(Python 模块或者包)的 Distutils 命令。Distutils 执 行安装的细节信息保存在 setup.py 中(有时是在其他关联文件中)。 “py2exe”是一个在 import py2exe 之后添加的一个新的 Distutils 命令。要使用 py2exe,需要创建一个 setup.py 文件来告诉 Distutils 和 py2exe 你想做什么。这里是一个 setup.py 实例,它很简单但对于示例程序够用了: 1 from distutils.core import setup 2 import py2exe 3 4 setup(console=['hello.py']) setup.py 注意到这是普通的 Python 代码。让我们一行行地走: 1. 使用 py2exe 时,我们要直接引用的 Distutils 部分是 setup 函数,所以我们只 需要 import 它就可以了。 2. 一旦加载了 Distutils,我们需要加载 py2exe 以便可以添加它的命令。 3. 空格有利于可读性! 4. 调用 setup 并告诉它我们需要一个单一的控制台应用程序,其主入口 为“hello.py”。 运行 setup 脚本 接下来是运行构建脚本。传递给 py2exe 命令,会看到大量输出: C:\Tutorial>python setup.py py2exe running py2exe *** searching for required modules *** *** parsing results *** creating python loader for extension 'zlib' creating python loader for extension 'unicodedata' creating python loader for extension 'bz2' *** finding dlls needed *** *** create binaries *** *** byte compile python files *** byte-compiling C:\Tutorial\build\bdist.win32\winexe\temp\bz2.py to bz2.pyc byte-compiling C:\Tutorial\build\bdist.win32\winexe\temp\unicodedata.py to unicodedata.pyc byte-compiling C:\Tutorial\build\bdist.win32\winexe\temp\zlib.py to zlib.pyc skipping byte-compilation of c:\Python24\lib\StringIO.py to StringIO.pyc [skipping many lines for brevity] skipping byte-compilation of c:\Python24\lib\warnings.py to warnings.pyc *** copy extensions *** *** copy dlls *** copying c:\Python24\lib\site-packages\py2exe\run.exe -> C:\Tutorial\dist\hello.exe *** binary dependencies *** Your executable(s) also depend on these dlls which are not included, you may or may not need to distribute them. Make sure you have the license if you distribute any of them, and make sure you don't distribute files belonging to the operating system. ADVAPI32.dll - C:\WINDOWS\system32\ADVAPI32.dll USER32.dll - C:\WINDOWS\system32\USER32.dll SHELL32.dll - C:\WINDOWS\system32\SHELL32.dll KERNEL32.dll - C:\WINDOWS\system32\KERNEL32.dll C:\Tutorial> 运行 setup 脚本时会创建两个目录:build 和 dist。build 目录用作程序打包时的工作 区。setup 脚本运行完后可以安全的删除 build 目录。运行应用程序需要 dist 目录中的文 件。如果你正使用 Python 2.4 或者更新的版本,那么 dist 中会包含 MSVCR71.dll 文件 - 这是一个 Microsoft 动态链接库,你需要确定你是否有发布它的合法权限。 测试可执行程序 现在程序包已经创建完毕,可以准备测试了: C:\Tutorial>cd dist C:\Tutorial\dist>hello.exe Hello World 好极了,它正常工作了!!! 如果程序在你的机器上工作,但是在用户的机器上不工作,那么用户可能需要安装 Microsoft Visual C++ 2008 可重新发布包。可以从微软的网站 website 下载。这种现象通 常发生在用户没有安装 Python 的情况下。 如果可行的话构建安装程序 py2exe 不是一个安装程序构造器 - 它仅仅是将需要运行 Python 程序的文件组装起 来。有许多非常好的安装程序构建器,有些是开源的(例如 NSIS),有些是免费的(例如 Inno Setup)。

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档

相关文档