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 相关文章推荐
Python3实现的腾讯微博自动发帖小工具
Nov 11 Python
简单谈谈Python中的json与pickle
Jul 19 Python
python3写爬取B站视频弹幕功能
Dec 22 Python
pandas将DataFrame的列变成行索引的方法
Apr 10 Python
python获取中文字符串长度的方法
Nov 14 Python
python实现年会抽奖程序
Jan 22 Python
在python中利用opencv简单做图片比对的方法
Jan 24 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
Pandas数据分析的一些常用小技巧
Feb 07 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 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
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
2019/06/25 PHP
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
javascripit实现密码强度检测代码分享
2013/12/12 Javascript
jquery实现checkbox 全选/全不选的通用写法
2014/02/22 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
vue实现匀速轮播效果
2020/06/29 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
python查询mysql中文乱码问题
2014/11/09 Python
django之常用命令详解
2016/06/30 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
python使用正则筛选信用卡
2019/01/27 Python
pygame实现飞机大战
2020/03/11 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
小学学习雷锋活动总结
2014/07/03 职场文书
法定代表人身份证明书
2014/09/10 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
大学生受助感言
2015/08/01 职场文书
高中班长竞选稿
2015/11/20 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers