使用cx_Freeze 将python3代码打包成.exe程序
2016-06-30 08:20
951 查看
在这里分享一下如何在py3下使用cx_Freeze打包pyqt5的程序
首先吐槽下,深深鄙视一下百度,各种百度各种没有,之前我在py2.7下使用pyqt4开发过一个小软件,用的是py2exe进行打包的,可是py2exe貌似不支持py3,各种恶心,已经搞了好久了,今天早上google了一下终于搞定了
cx_Freeze-4.3.3.win32-py3.4下载地址
首先先进入程序所在的目录
执行下面命令进行python程序打包
注:这里需要注意的一点是被打包的py程序中不要存在 if name == "main",否则cxfreeze不识别
打包完之后会在当前所在目录下面生成一个dist的目录,在黑窗口中进入该目录,然后直接输入index.exe(具体的名字以打包的文件为准)就可以执行该exe程序了
```
各种百度各种谷歌,说这个是官方的一个bug,需要安装cx_Freeze4.3.4的补丁包,将cx_Freeze4.3.3升级成4.3.4,具体步骤如下:
下载补丁包
补丁包下载地址
进入该补丁包的本地下载目录,然后使用pip进行安装
补丁安装完之后再回到第二步进行打包程序就可以了
双击index的运行程序,效果如下
有个黑窗口,这个在后面我学习到了再进行解决,这会要收拾东西上班去了
首先吐槽下,深深鄙视一下百度,各种百度各种没有,之前我在py2.7下使用pyqt4开发过一个小软件,用的是py2exe进行打包的,可是py2exe貌似不支持py3,各种恶心,已经搞了好久了,今天早上google了一下终于搞定了
一、安装
下载安装包进行安装cx_Freeze-4.3.3.win32-py3.4下载地址
二、打包程序
安装之后在windows黑窗口(就是win下面的dos窗口)执行下面步骤:首先先进入程序所在的目录
执行下面命令进行python程序打包
注:这里需要注意的一点是被打包的py程序中不要存在 if name == "main",否则cxfreeze不识别
cxfreeze --init-script=需要打包主程序的绝对路径\index.py index.py
打包完之后会在当前所在目录下面生成一个dist的目录,在黑窗口中进入该目录,然后直接输入index.exe(具体的名字以打包的文件为准)就可以执行该exe程序了
```
三、解决报错:
我第一次运行index.exe的时候出现了报错信息AttributeError: 'module' object has no attribute '_fix_up_module'
各种百度各种谷歌,说这个是官方的一个bug,需要安装cx_Freeze4.3.4的补丁包,将cx_Freeze4.3.3升级成4.3.4,具体步骤如下:
下载补丁包
补丁包下载地址
进入该补丁包的本地下载目录,然后使用pip进行安装
pip install cx_Freeze-4.3.4-cp34-none-win_amd64.whl
补丁安装完之后再回到第二步进行打包程序就可以了
四、看下我打包之后的几个截图
打包程序目录截图双击index的运行程序,效果如下
有个黑窗口,这个在后面我学习到了再进行解决,这会要收拾东西上班去了
相关文章推荐
- 10W -python
- 关于Python文件读写及访问方式
- 利用Python实现快速算法排序
- 详解Python操作RabbitMQ服务器消息队列的远程结果返回
- 浅谈python中set使用
- python中set常用操作汇总
- python dict.get()和dict['key']的区别详解
- 浅谈Python 集合(set)类型的操作――并交差
- 全面了解Python环境配置及项目建立
- Python列出一个文件夹及其子目录的所有文件
- 深入浅析Python中join 和 split详解(推荐)
- Python中functools模块的常用函数解析
- 在Python中定义和使用抽象类的方法
- 举例讲解Python中metaclass元类的创建与使用
- Python的Tornado框架实现图片上传及图片大小修改功能
- Python的Tornado框架实现异步非阻塞访问数据库的示例
- Python的Flask框架中的Jinja2模板引擎学习教程
- 为Python的Tornado框架配置使用Jinja2模板引擎的方法
- Python中的time模块与datetime模块用法总结
- Python面向对象编程中关于类和方法的学习笔记