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采用Django开发自己的博客系统
Sep 29 Python
基于python代码实现简易滤除数字的方法
Jul 17 Python
python画折线图的程序
Jul 26 Python
nohup后台启动Python脚本,log不刷新的解决方法
Jan 14 Python
一篇文章弄懂Python中所有数组数据类型
Jun 23 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
浅谈pycharm使用及设置方法
Sep 09 Python
python实现输入的数据在地图上生成热力图效果
Dec 06 Python
Django集成celery发送异步邮件实例
Dec 17 Python
OpenCV中VideoCapture类的使用详解
Feb 14 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
opencv-python图像配准(匹配和叠加)的实现
Jun 23 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
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
解析MySql与Java的时间类型
2013/06/22 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
php实现三级级联下拉框
2016/04/17 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
2017/05/24 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
Vue实现商品分类菜单数量提示功能
2019/07/26 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
详解python3百度指数抓取实例
2016/12/12 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
canvas烟花特效锦集
2018/01/17 HTML / CSS
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
大学生入党自我鉴定
2013/10/31 职场文书
求职意向书
2014/04/01 职场文书
经典导游欢迎词
2015/01/26 职场文书
检讨书范文1000字
2015/01/28 职场文书
幽默导游词开场白
2015/05/29 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python
Nginx配置Https安全认证的实现
2021/05/26 Servers