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实现简单的可逆加密程序实例
Mar 05 Python
python自定义解析简单xml格式文件的方法
May 11 Python
PyQt5每天必学之像素图控件QPixmap
Apr 19 Python
pycharm远程linux开发和调试代码的方法
Jul 17 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
浅谈Python中re.match()和re.search()的使用及区别
Apr 14 Python
Python web如何在IIS发布应用过程解析
May 27 Python
pycharm sciview的图片另存为操作
Jun 01 Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 Python
python 写一个水果忍者游戏
Jan 13 Python
python 破解加密zip文件的密码
Apr 22 Python
Python制作动态字符画的源码
Aug 04 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
discuz Passport 通行证 整合笔记
2008/06/30 PHP
使用PHP编写的SVN类
2013/07/18 PHP
php json_encode()函数返回json数据实例代码
2014/10/10 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
javascript 节点排序 2
2011/01/31 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
[51:26]VP vs VG 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
Pandas中resample方法详解
2019/07/02 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
英国钻石公司:British Diamond Company
2020/02/16 全球购物
标准自荐信范文
2014/01/29 职场文书
公司面试感谢信
2014/02/01 职场文书
高中军训感言800字
2014/03/05 职场文书
市场拓展计划书
2014/05/03 职场文书
旅游节目策划方案
2014/05/26 职场文书
2015年工会工作总结
2015/03/30 职场文书