#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命令的所有命令行标记。

四、指定额外的文件一些应用程序在运行时需要额外的文件,诸如配置文件、字体、位图。

如果在安装脚本中用data_files可选项指定了那些额外的文件,那么py2exe能将这些文件拷贝到dist子目录中。data_files应包含一个元组(target-dir, files)列表,其中的files是这些额外的文件的列表。

示例如下:

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类)的列表。

示例如下:

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.pyfrom distutils.core import setupimport py2exesetup(com_server=["win32com.server.interp"])默认情况下,DLL和EXE servers被建造,你不需要它们的话你可以简单的删除它们。

七、本人补充

补充一下,如果要把python编译的所有文件打包到一个exe中,就需要在setup()这个函数中,要设置2个参数:options中的bundle_files和zipfile。

其中bundle_files有效值为:

3 (默认)不打包。

2 打包,但不打包Python解释器。

1 打包,包括Python解释器。

zipfile的有效值为:

不填(默认) 生成一个library.zip文件

None 把所有东西打包进.exe文件中

实例如下:

#! /usr/bin/env python

# -*- coding: utf-8 -*-

#安装成windows服务的python脚本

#内容:

from distutils.core import setup

import py2exe

options = {"py2exe":{"compressed": 1, #压缩

"optimize": 2,

"bundle_files": 1 #所有文件打包成一个exe文件

}}

setup(

service=["PyWindowsService"],

options=options,

zipfile=None)

python py2exe_转:py2exe 生成 python 可执行文件相关推荐

  1. linux将py变成exe文件,使用py2exe将Python 脚本生成exe可执行文件

    使用Python的py2exe模块可以很容易地帮助我们将Python脚本生成可执行的exe程序.这样我们就可以让脚本脱离虚拟机的束缚,从而独立运行. 环境要求: python虚拟机,我使用的是pyth ...

  2. python可视化界面自动生成_python生成界面

    广告关闭 云服务器1核2G首年99年,还有多款热门云产品满足您的上云需求 前言对于一些 python 脚本,我们想把它打包给其他人使用,不是黑色的命令行框,而是打包成一个有界面的程序包给别人,让普通用 ...

  3. 使用py2exe生成一个exe文件

    在windows中,使用py2exe将py脚本转换成exe文件时,在dist目录下会有zip,dll等其他文件.如果想要只生成一个可单独运行的exe文件,需要在setup.py文件中添加bundle_ ...

  4. Python生成exe可执行文件的两种方法(py2exe和pyinstaller)

    C:\Users\Administrator>python -m pip install py2exe D:\Python\Python38\python.exe: No module name ...

  5. Python脚本如何生成Windows可执行文件.exe

    Python脚本如何生成Windows可执行文件.exe 时间 2014-10-12 22:23:17 书影 - 最新日志 原文  http://bookshadow.com/weblog/2014/ ...

  6. linux打包运行python文件_Linux下安装pyinstaller用于将py文件打包生成一个可执行文件...

    安装使用流程 1. 首先给系统装个easy_install, 如果装了的可以跳过这步 到pypi官方网址 https://pypi.python.org/pypi/setuptools 去downlo ...

  7. windows文本转语音 通过java 调用python 生成exe可执行文件一条龙

    我已记不清 我失败过多少次 ,找过多少资料 ,但是功夫不负有心人 ,还是成功了. 所有资料和需要的语音模块的资料以放置在文章末尾, 有些是引用别人的博客的部分内容, 原文是在有道云笔记,所以没有图 . ...

  8. python工程师必备:生成可执行文件、进程、线程、协程、数据处理

    在如今这个时间和知识都是碎片化的时代,C站根据C1-C4认证的成长路径,进行知识细化整理,形成系统化的知识图谱. 通过调研一线互联网大厂的招聘JD,小编对标C站能力认证要求,为大家整理了系列技术干货合 ...

  9. python创建窗体_python生成窗口

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 2.python生成目录树上述 cmd 方式虽然可以生成目录树,但是并不美观,让 ...

最新文章

  1. 视频营销、B2B营销、EDM营销之营销方式大PK
  2. 直接让浏览器下载文件而不打开
  3. frame中src怎么设置成一个变量_Go 语言设计哲学之七:变量声明须一致
  4. BZOJ 3555 [CTSC2014] 企鹅QQ Hash
  5. 树如何找共同祖先_树的运用:求树上共同祖先LCA
  6. 拓端tecdat|R语言中固定与随机效应Meta分析 - 效率和置信区间覆盖
  7. TC中的HTB队列简单创建与过滤
  8. mac上投屏android_有哪些支持安卓投屏Mac的软件
  9. php队列处理mysql_php队列处理:php消息队列实现原理(图文)
  10. 【机器学习】适用于机器学习初学者的8个小项目
  11. xcopy 跳过已经存在的_南京的野猪已经会逛奶茶店了?!
  12. guzzlehttp/guzzle使用
  13. 网购热催生网络模特月入万元多为大学生
  14. 解决“attempted relative import with no known parent package“的错误
  15. 小学教师听课体会 计算机,小学教师听课心得体会
  16. Stenffensen加速迭代法
  17. css+html项目难点
  18. 一篇文章学会二进制的运算以及原码、反码、补码
  19. php 元旦祝福,简短祝福语八个字 元旦祝福语简短
  20. 男主龙失忆java_不容错过的3本男主失忆文:我忘记了以前的所有,却从未忘记爱你...

热门文章

  1. 计算机系统性错误,《深入理解计算机系统-异常》
  2. python中怎么判断字母大小写_python判断字符串是字母 数字 大小写(转载)
  3. hadoop yarn 获取日志_Hadoop YARN配置参数剖析(2)—权限与日志聚集相关参数
  4. java lambda sorted_Java8:Lambda表达式增强版Comparator和排序
  5. mysql查询条件是小数 查不到6.28_28.mysql数据库之查询
  6. Spring 实战-第一章-基本概念
  7. 不要假装努力,结果不会陪你演戏!
  8. Windows下pip 离线包安装
  9. [NOIP2003]传染病控制题解
  10. 使用 js 设置组合快捷键,支持多个组合键定义,还支持 React