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实现字符串和日期相互转换的方法
May 13 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
Dec 25 Python
Python中的探索性数据分析(功能式)
Dec 22 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
Python生成rsa密钥对操作示例
Apr 26 Python
python3 批量获取对应端口服务的实例
Jul 25 Python
python根据时间获取周数代码实例
Sep 30 Python
python字典key不能是可以是啥类型
Aug 04 Python
教你如何用python操作摄像头以及对视频流的处理
Oct 12 Python
Python+OpenCV图像处理——实现直线检测
Oct 23 Python
python 实现的车牌识别项目
Jan 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
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
js实现碰撞检测
2021/01/29 Javascript
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
python做反被爬保护的方法
2019/07/01 Python
Tensorflow模型实现预测或识别单张图片
2019/07/19 Python
python将数组n等分的实例
2019/12/02 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
详解python对象之间的交互
2020/09/29 Python
Python读写锁实现实现代码解析
2020/11/28 Python
html5实现滑块功能之type="range"属性
2020/02/18 HTML / CSS
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
英语商务邀请函范文
2014/01/16 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript
Python+Appium自动化测试的实战
2021/06/30 Python
element tree树形组件回显数据问题解决
2022/08/14 Javascript