Windows下用py2exe将Python程序打包成exe程序的教程
作者:goldensun 发布时间:2021-07-11 23:03:17
标签:Python,exe
py2exe在sourceforge 的下载只支持到2.7。
针对python3.0+的版本,需要自己编译。
1.下载源码
svn checkout svn://svn.code.sf.net/p/py2exe/svn/trunk py2exe-svn
2.编译环境
这里使用的是vs2014.
3.安装
进入py2exe-3
python setup.py install
这里会进行编译、安装。
此外,python默认使用的是vs9,针对vs2014,需要改下文件:
Lib\distutils\msvc9compiler.py
寻找:
VERSION = get_build_version()
在下面增加:
VERSION = 11.0
如果出现错误:
Failed to load and parse the manifest. The system cannot find the file specified.
error: command 'mt.exe' failed with exit status 31
解决办法:由于vs2010后的link.exe的参数稍微有些改变,所以在link的时候没有生成manifest文件,自然mt.exe找不到这个文件。只需要在msvc9compiler.py里面搜索一下MANIFESTFILE,然后在他上面加一行 ld_args.append('/MANIFEST'),保存就OK了。(python3.4好像没有这个问题,2.7存在)
4.setup.py
setup.py可以参考官网,其中的参数--bundle-files,需要特别说下,想打成一个整包要设成0.
变化可以参考:http://sourceforge.net/p/py2exe/svn/HEAD/tree/trunk/py2exe-3/
最后附上setup.py
from distutils.core import setup
import py2exe
import sys,os
if sys.version_info.major >= 3.0:
opt_bundle_files = 0
else:
opt_bundle_files = 1
includes = ["PyQt4.QtCore","PyQt4.QtGui","sip"]
options = {"py2exe":
{ "compressed": 1,
"optimize": 2,
"includes": includes,
"bundle_files": opt_bundle_files,
}
}
setup(
version = "0.1.0",
description = "test_add",
options = options,
zipfile=None,
console=[{"script": "test_add.py", "icon_resources": [(1, "py.ico")] }],
#windows=[{"script": "test_add.py", "icon_resources": [(1, "py.ico")] }],
)
0
投稿
猜你喜欢
- 不知道大家有没有见过在python数组中使用...符号,因为前段时间读别人代码的时候遇到了这个符号立刻就云里雾里,于是这里特此记录一下。先来
- 一、语法错误异常:大多数的异常都不会被程序处理,都以错误信息的形式展现在这里二、异常处理while True: t
- 养成良好的编码习惯,一个合格的程序员需要掌握一些编写单元测试的能力。单元测试也可以整体上提升我们的代码质量,这里介绍下 VUE 组件的单元测
- 刚来公司的时候领导给分配的都是一些简单的简单的简单的。。。。。任务一次叫我把文章的字体大小变换功能写出来。在网上搜了很多都不管用!不过功夫不
- python版本和ssl版本都会导致 requests在请求https网站时候会出一些错误,最好使用新版本。1 Python2.6x use
- 在Oracle SQL的where子句中传入字符类型参数'19-11月-08',使得可以直接和日期类型比较,或者转换一下同日
- 本文实例讲述了Python使用itchat模块实现简单的微信控制电脑功能。分享给大家供大家参考,具体如下:#!/usr/bin/python
- 本文要实现的功能是:根据下拉列表的选项将数据库中对应的内容显示在页面,选定要排除的选项后,提交剩余的选项到数据库。为了方便前后台交互,利用了
- 将Python数据类型转换为其他代码格式叫做(序列化),而json就是在各个代码实现转换的中间件。序列化要求:1. 只能有int,str,b
- 1、随机生成0-1的浮点数random.randomrandom.random()用于生成一个0到1的随机浮点数: 0 <= n &l
- 一、解析PDF(简历内推)应用场景:简历内推(解析内容:包括不限于姓名、邮箱、电话号码、学历等信息)输入:要解析的文件路径输出:需要解析的内
- 在pycharm使用过程中,对于每次新建的python文件的时候,关于代码编写者的一些个人信息快捷填写,使用模板的方式比较方便。方法如下:1
- 先安装第三方库:pip install requestsdef isConnected(): import requ
- PHP hebrev() 函数实例反向显示希伯来字符:<?php echo hebrev("á çù&
- 本文实例讲述了Python生成器定义与简单用法。分享给大家供大家参考,具体如下:一、什么是生成器在Python中,由于受到内存的限制,列表容
- 来自某个nb招聘的题目:请给Array本地对象增加一个原型方法,它的用途是删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重
- nn.RNN(input_size, hidden_size, num_layers=1, nonlinearity=tanh, bias=
- 前言最近发现一个问题,在一次爬虫实战中,需要将字典加入列表中,意外的情况出现了!!!下面简单分析一下出现的状况:list = []dic =
- 问题描述:在django中创建了一个app,而且在app中自定义创建了几个数据表,在同步的时候系统自带的表可以成功,但是models中的没有
- Python中有两种循环,分别为:for循环和while循环。1. for循环for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环