python py2exe_编写简单网页

python py2exe_编写简单网页简介py2exe是 Python Distutils 的一个外部扩展,它可以把Python脚本转为可执行的Windows程序,无需安装Python即可运行.你可以在主页 SourceForge 得到更多资源. 说明py2exe可以把Python程序转为包,能够在其他没有安装Python 的电脑上运行。Pythonisneede

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文译自Py2exe官网 http://www.py2exe.org/


简介


py2exe 是 Python Distutils 的一个外部扩展,它可以把Python脚本转为可执行的Windows程序,无需安装Python即可运行。

你可以在官网得到更多资源。

说明

py2exe 可以把Python 程序转为包,能够在其他没有安装Python 的电脑上运行。运行py2exe 的电脑需要安装Python ,因为py2exe 是一个 Python 程序并且它创建的包中包含Python 的一部分。

为了更好的完成本教程,你需要了解一些Python 的基本知识(你可以从 python.org’s getting started 页面开始)。你还需要知道 怎样从命令行提示符运行 Python 程序

安装完成后,在使用py2exe之前,你需要完成一下几个简单的步骤:

  1. 创建/测试 程序

  2. 创建setup 脚本文件 (setup.py)

  3. 运行setup 脚本

  4. 测试可执行程序

  5. 提供 Microsoft Visual C 运行时库

    • 5.1. Python 2.4 or 2.5

    • 5.2. Python 2.6, 2.7, 3.0, 3.1

      • 5.2.1. 创建C运行时库( C runtime DLL)

        • 5.2.1.1 win32ui 特例

      • 5.2.2. 运行这个可重新发行的 C 运行时安装程序

  6. 如果可以创建一个安装程序

1. 创建/测试程序

最重要的一步几乎总是第一步。好信息是 py2exe 通常在这一步很少或者几乎没有什么障碍。你处理Python 的绝大部分方法同样适用于 py2exe,Pyhton有很多模块是和 py2exe 无缝连接的。但是一些第三方模块需要额外花些时间,幸运的是这里有现成可用的帮助

 WorkingWithVariousPackagesAndModules

在你使用 py2exe 之前,确保每一件事都能正常工作是非常重要的。如果py2exe 安装一个破损的程序,那么很可能会出现一个BUG需要被修复!

在这里我们用的第一个示例是我们的老朋友…

print "Hello World!"

hello.py

我们需要确保他能正常工作…

C:\Tutorial>python hello.py
Hello World!

C:\Tutorial>

看起来不错!

2. 创建 setup 脚本文件 (setup.py)

py2exe 在 Distutils 的基础上扩展了一个新的 “命令”。如果你安装过 Python 的第三方模块,那么你一定至少见过一个 distutils 命令:

C:\Tutorial>python setup.py install

“install” 是 Distutils 的一个用来安装(通常是 Python 模块或者包)命令。Distutils 需要做的细节就包含在 setup.py 文件的设置中(有时候还有一些关联文件)。

“py2exe” 是一个新的 Distutils 命令, 当你导入 py2exe时就会加载进来。为了使用 py2exe ,你需要创建一个 setup.py 文件去告诉Distutils 和 py2exe 你想要做什么。

这是一个适用于我们示例的简单的 setup.py 文件…

from distutils.core import setup
import py2exe

setup(console=['hello.py'])

setup.py

请注意:这是普通的 Python 程序。让我们一行一行的解读…

  1. 在py2exe 下工作时,我们通常需要的 Distutils 的唯一部分就是 setup 函数,所以我们导入它。
  2. 一旦Distutils 加载完成,我们还需要加载 py2exe 以至于加载它的命令。
  3. 空一行总是好的!
  4. 调用 setup 告诉它我们想要一个单控制台应用程序,并且主入口是 “hello.py”。

3. 运行 setup 脚本

接下来就是运行 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 脚本运行完成后可以放心的删除。目录 dist 下的都是运行应用程序是必需的文件。

4. 测试可执行文件

现在包已经被创建好了,等待着我们来测试:

C:\Tutorial>cd dist

C:\Tutorial\dist>hello.exe
Hello World

太棒了, 一切正常!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197349.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月5日 下午5:22
下一篇 2025年9月5日 下午6:01


相关推荐

  • 堆和栈的区别(队列和栈的区别)

    堆(Heap)与栈(Stack)是开发人员必须面对的两个概念,在理解这两个概念时,需要放到具体的场景下,因为不同场景下,堆与栈代表不同的含义。一般情况下,有两层含义:(1)程序内存布局场景下,堆与栈表示的是两种程序内存分区;(2)数据结构场景下,堆与栈表示两种常用的数据结构。1.程序内存分区——堆与栈栈由操作系统自动分配释放,用于存放函数的参数值、局部变量的值等,其操作方式类…

    2022年4月12日
    64
  • 最受欢迎的网管工具集「建议收藏」

    最受欢迎的网管工具集「建议收藏」最受欢迎的网管工具集★★★日前,美国《NetworkWorld》通过读者调查,选出了最受读者欢迎的网络管理工具,我们也将它们推荐给国内的网管员们,希望能助他们一臂之力,使他们轻松排除网络故障。工具名称:SolarWindsEngineerEdition网址:www.solarwinds.net推荐理由:有读者说:“在不到一小时的时间内,我从网站上下载并安装了SolarWinds的授权版

    2022年10月6日
    6
  • mysql设密码_MySQL登录

    mysql设密码_MySQL登录MySQL配置密码+忘记root密码的找回操作

    2022年8月11日
    8
  • Pycharm 字体大小及背景颜色的设置

    Pycharm 字体大小及背景颜色的设置设置Pycharm的字体大小及背景颜色Pycharm设置字体的大小及风格选择File–>setting–>Editor–>Font,我们可以看到如下图所示界面,我们就可以根据自己的喜好随意调整字体的大小,字体的样式风格,文字行间距,设置之后的的效果在下面的窗口可以实时预览,调整和设置都比较方便。Pycharm设置背景颜色选择File–>…

    2022年8月26日
    9
  • 为什么网站总显示服务器不能创建对象,”automation服务器不能创建对象”的问题的解决方案总结大全…

    为什么网站总显示服务器不能创建对象,”automation服务器不能创建对象”的问题的解决方案总结大全…automation 服务器不能创建对象 的问题的解决方案总结大全更新时间 2007 年 04 月 30 日 00 00 00 作者 本人工作中的应用系统都是 jsp 的 大量 javascript 程序 一旦出 automation 服务器不能创建对象 问题 大量报表及查询无法保存 苦思冥想 千尝万试 终于将其搞定 现将相关方案与大家共享 1 如果是 Scripting FileSystemOb FSO

    2026年3月18日
    1
  • PYCHARM 之 VIM 操作

    PYCHARM 之 VIM 操作1 主题如果你是 Vim 的粉丝 并且不打算使用其他类型的编辑器 那么这篇教程将会比较适合你 这里将会详细介绍如何在 PycharmIdeaV 插件的帮助下下载 安装 使用 Vim 至于有关 Python 编程以及 Vim 的用法 详见 officialwebs Vimdocumenta 2 准备工作安装 2 7 或者更高版本的 Pycharm3 下载安装 IdeaVim 插件在 Pychar

    2026年3月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号