Py2exe_py import

Py2exe_py import转载自:http://www.cnblogs.com/jans2002/archive/2006/09/30/519393.html一、简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。py2exe已经被用于创建wxPython,Tkin

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

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

转载自:http://www.cnblogs.com/jans2002/archive/2006/09/30/519393.html

一、简介



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”]既可。




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=[“helloworld.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被建造,你不需要它们的话你可以简单的删除它们。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 小学六年级的读者,自学计算机,会爬虫,搞崩过学校网站,还有 Girlfriend…..[通俗易懂]

    小学六年级的读者,自学计算机,会爬虫,搞崩过学校网站,还有 Girlfriend…..[通俗易懂]大家好,我是小林。我之前遇到一个很奇怪的读者,他的头像是电影《V字仇杀队》里的面具。感觉上去是一个黑客爱好者,不是一个好惹的家伙,小林看了瑟瑟发抖。结果,他来了这么一句,「哥哥,在吗?」我头顶瞬间冒出一万个问号,怎么跟头像冷酷的感觉完全相反。只听过有的读者叫我小林哥,但是还真没遇到过直接称呼哥哥的,能说出这个称呼的话,感觉对方年纪不大。然后,他请教我关于kaliLinux安装失败的问题要怎么解决,我没有安装过,所以我也没办法解决他的问题,就让他自己去网上搜搜看看。然后,他还是没解决,

    2022年5月2日
    58
  • Oracle下查看索引的语句

    Oracle下查看索引的语句1.查询一张表里面索引select*fromuser_indexeswheretable_name=upper(‘表名’);2.查询被索引字段select*fromuser_ind_columnswhereindex_name=(‘索引名称’);3.给某一字段创建索引createindex索引名on表名(字段);…

    2022年5月10日
    56
  • 邮件群发怎么设置_qq邮箱邮件怎么群发

    邮件群发怎么设置_qq邮箱邮件怎么群发大家都说30岁的女人一枝花,但是我就狠狠的被家里人催婚了。老妈让我去参加一个相亲,虽然心里不想去,但是为了让老妈开心,还是去参加了这场相亲局。当相亲那天来临时,我进入了跟人约好的咖啡馆,见面时寒暄了几句,就进入了无声的沉默,后来我们聊天时提起了我们的职业,我说我是外企HR,他跟我说他是会展公司的市场部部员,然后我问他工作具体是干什么的,然后他跟我说他是具体用邮件来开发客户,介绍会展公司承包的展览这种工作。我说好厉害的样子,你们是不是也需要邮件群发啊?最近我的邮箱有限,不是特别好用,刚好想换一个邮箱,你平常使

    2025年6月26日
    6
  • 关闭eslint的两种方法

    关闭eslint的两种方法1.vue.config.js中添加module.exports={lintOnSave:false,}2.package.json中修改”eslintConfig”:{“root”:true,”env”:{“node”:true},”extends”:[“plugin:vue/essential”,”eslint:recommended”…

    2025年6月2日
    4
  • gg修改器自动点击脚本_gg修改器变速教程

    gg修改器自动点击脚本_gg修改器变速教程源代码:PrivateSubCommand1_Click()Dimbackback=mciSendString&(“CLOSENN”,0,0,0)EndSubPrivateSubCommand2_Click()Dimbackback=mciSendString&(“OPEN”App.Path”\TEST.mid””TYPESEQUENCERALIASNN”,0&,0,…

    2025年9月14日
    8
  • 【Odin插件学习】新手上手示例:一个简单的角色面版

    【Odin插件学习】新手上手示例:一个简单的角色面版示例展示前置准备创建脚本,例SimpleCharacterPanel.cs添加Odin库using指令usingSirenix.OdinInspector;需求分析我们可以将面版主要分为如下四个部分:角色基础信息名称等级经验值角色模型角色属性经验上限(升级所需经验)攻击力血量上限蓝量上限血条蓝条模拟操作(金手指)经验值增加其他初始化等级提升 #region属性publicstringm_Characte

    2022年7月21日
    15

发表回复

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

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