python 使用cx-freeze打包程序的实现


Posted in Python onMarch 14, 2020

python环境 3.6.5 win7 linux环境同理

先尝试了PyInstaller ,打包时一直提示 no module named gtk 而gtk 又依赖pygobject ,尝试安装几次之后失败放弃

改用cx-freeze

首先写一个 setup.py

1.py 2.py 是自己要打包的程序名字

注意里面的四个绝对路径改成真实的路径,否则会爆各种奇怪的错误,运行 python setup.py install

执行exe 比如下图,在python终端里面输入 import _tkinter是可以的,但是打包以后会这样报错,

引入 tcl86t.dll和tk86t.dll 后问题解决

python 使用cx-freeze打包程序的实现

然后很容易会报错如下图,解决办法是一个一个的在自己的python路径中找到这些.py文件,然后执行:python -m compileall +文件名.py 再把生成的.pyc文件拷到打包项目的相应位置

python 使用cx-freeze打包程序的实现

setup.py :

import sys
from cx_Freeze import setup, Executable
import os
os.environ['TCL_LIBRARY'] = "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\tcl\\tcl8.6"
os.environ['TK_LIBRARY'] = "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36\\tcl\\tk8.6"

include_files = [r"C:\Users\Administrator\AppData\Local\Programs\Python\Python36\DLLs\tcl86t.dll",
         r"C:\Users\Administrator\AppData\Local\Programs\Python\Python36\DLLs\tk86t.dll"]

#打包所需要的第三库
build_exe_options = {"packages": ["glob", "os", "numpy", "datetime", "PIL", "matplotlib", "scipy", "_tkinter"],
           "includes ": ['numpy','glob','os','datetime','datetime','PIL', "matplotlib", "matplotlib.pyplot" ,"scipy", "_tkinter"]}

base = None
if sys.platform == 'win32':
  base = 'Win32GUI'

options = {
  'build_exe': {
    'includes': 'atexit' ,'include_files': include_files
  }
}

executables = [
  Executable('1.py', base=base),
  Executable('2.py')
]

setup(name='education',
   version='0.1',
   description='education software',
   options=options,
   executables=executables
   )

补充知识:关于python3.6 cxfreeze打包 的一个Bug

我写python脚本喜欢把脚本生成exe,我用的是python3.6,自然就选择了cxfreeze这个库来生成exe

在一次项目中,同时用到了requests库和base64库,我打包exe后运行老是出现闪退,我刚开始还以为是脚本问题,但是脚本用python解释器运行就不会出现错误,我真的一脸懵逼啊,于是我猜想会不会是cxfreeze在导入库时有bug,于是我做实验验证我的猜想,结果果真如我所料。

python3.6 cxfreeze 打包时不能同时出现requests和base64这2个库,否则exe运行闪退。。。

以上这篇python 使用cx-freeze打包程序的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
简单介绍Python中的JSON使用
Apr 28 Python
举例讲解Python的lambda语句声明匿名函数的用法
Jul 01 Python
windows下python连接oracle数据库
Jun 07 Python
一个Python最简单的接口自动化框架
Jan 02 Python
3分钟学会一个Python小技巧
Nov 23 Python
利用python实现对web服务器的目录探测的方法
Feb 26 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
Jan 15 Python
Python 实现日志同时输出到屏幕和文件
Feb 19 Python
python实现3D地图可视化
Mar 25 Python
python matplotlib imshow热图坐标替换/映射实例
Mar 14 #Python
python pyqtgraph 保存图片到本地的实例
Mar 14 #Python
Python 实现将大图切片成小图,将小图组合成大图的例子
Mar 14 #Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 #Python
python matplotlib 绘图 和 dpi对应关系详解
Mar 14 #Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 #Python
python tkinter GUI绘制,以及点击更新显示图片代码
Mar 14 #Python
You might like
php checkbox 取值详细说明
2010/08/19 PHP
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
php简单压缩css样式示例
2016/09/22 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
2012/09/11 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
jQuery设置和获取HTML、文本和值示例
2014/07/08 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
浅谈Sticky组件的改进实现
2016/03/22 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
Vue组件间数据传递的方式(3种)
2020/07/13 Javascript
python显示生日是星期几的方法
2015/05/27 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
2019/05/31 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
Omio西班牙:全欧洲低价大巴、火车和航班搜索和比价
2017/02/11 全球购物
美国网上鞋子零售商:Dr. Scholl’s Shoes
2017/11/17 全球购物
银行实习生的自我评价
2014/01/13 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
呐喊读书笔记
2015/06/30 职场文书
大学体育课感想
2015/08/10 职场文书
外出听课学习心得体会
2016/01/15 职场文书
Python编写nmap扫描工具
2021/07/21 Python