Python使用cx_Freeze库生成msi格式安装文件的方法


Posted in Python onJuly 10, 2018

本文实例讲述了Python使用cx_Freeze库生成msi格式安装文件的方法。分享给大家供大家参考,具体如下:

①.需要在目录下面创建一个文件 。setup.py

②.写入代码:

import sys
from cx_Freeze import setup, Executable
import os
os.environ['TCL_LIBRARY'] = r'C:\Python36-32\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Python36-32\tcl\tk8.6'
include_files=[
  r'C:\Python36-32\DLLs\tcl86t.dll',
  r'C:\Python36-32\DLLs\tk86t.dll'
]
# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"],"include_files":include_files}
# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
  base = "Win32GUI"
setup(name="video1",#打完包后取的名字
   version="2.1",#版本
   description="aaaaa",#描述
   options={"build_exe": build_exe_options},
   executables=[Executable("video.py", base=base)])

③.命令:

python setup.py bdist_msi   生成安装包以及直接运行的exe文件

python setup.py build       生成exe可执行程序

注:此处使用的cx_Freeze库可使用pip命令安装:

pip install cx_Freeze

此外,若使用Python2.7环境下安装时提示Python error: Microsoft Visual C++ 9.0 is required ,则需要安装一个Micorsoft Visual C++ Compiler for Python 2.7 的包,即可解决问题。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
pycharm 使用心得(五)断点调试
Jun 06 Python
python创建列表并给列表赋初始值的方法
Jul 28 Python
Python 3.x 连接数据库示例(pymysql 方式)
Jan 19 Python
Python中进程和线程的区别详解
Oct 29 Python
Python获取当前公网ip并自动断开宽带连接实例代码
Jan 12 Python
Python求出0~100以内的所有素数
Jan 23 Python
Python中常见的异常总结
Feb 20 Python
python模糊图片过滤的方法
Dec 14 Python
python psutil监控进程实例
Dec 17 Python
python自动化unittest yaml使用过程解析
Feb 03 Python
用Python绘制漫步图实例讲解
Feb 26 Python
Python代码覆盖率统计工具coverage.py用法详解
Nov 25 Python
python操作excel文件并输出txt文件的实例
Jul 10 #Python
深入浅析Python传值与传址
Jul 10 #Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 #Python
python3读取excel文件只提取某些行某些列的值方法
Jul 10 #Python
python读取excel指定列数据并写入到新的excel方法
Jul 10 #Python
python 常用的基础函数
Jul 10 #Python
使用pandas批量处理矢量化字符串的实例讲解
Jul 10 #Python
You might like
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
jQuery 获取对象 基本选择与层级
2010/05/31 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
2014/10/16 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
详解vue-router基本使用
2017/04/18 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
Python中规范定义命名空间的一些建议
2016/06/04 Python
Python连接DB2数据库
2016/08/27 Python
关于Django外键赋值问题详解
2017/08/13 Python
python3中函数参数的四种简单用法
2018/07/09 Python
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
Python super()函数使用及多重继承
2020/05/06 Python
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
开办化妆品公司创业计划书
2013/12/26 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
捐款仪式主持词
2015/07/04 职场文书
升学宴祝酒词
2015/08/11 职场文书