python用cx_Freeze打包程序
来源:互联网 发布:mac上安装nodejs 编辑:程序博客网 时间:2024/06/11 17:02
cx_freeze下载地址: http://sourceforge.net/projects/cx-freeze/files/
1、通过cxfreeze-quickstart生成setup.py文件,定制setup.py文件。python setup.py build
2、执行 cxfreeze main.py 默认生成dist目录。可以添加选项。可以通过cxfreeze -h查看帮助文档。
一般情况下。这两种都可以正确生成可执行程序。
特殊情况下(未知),第一种可能会出现错误。第二种不会出现错误。
第一种需要自己定制setup.py文件。需要手动添加第三方模块。如果不添加,会出现错误。第二种不会出现错误。
本人在linux,windows下测试。windows都没有问题。linux调用第一种方法出现错误(模块依赖错误)。推荐使用第二种方法。
刚开始打包程序的时候。在做简单的两种都可以。当项目比较的大的时候。两种都出现问题了。
原因:在项目中用到一些 import sys sys.path.append("..") 之类的。为了能导入其他包里面的模块。
这种编程方式并不是很好。 为了解决这个问题。
在项目最顶层目录添加一个run_app.py。程序从run_app.py开始运行。不用修改系统路径。只需重新修改包和模块路径。所有包和模块都可以通过访问。
修改完成之后。两种方式都可以正确生成可执行程序。
windows没有出现问题。linux第二种在本机没有出现问题。但是拿到别人的电脑上会出现问题。出现 ImportError: No module named _md5或者动态库找不到。
参考:http://www.cnblogs.com/Jerryshome/archive/2013/04/03/2998217.html
在linux 打包程序。cxfreeze并没有完全打包所有依赖动态库。一些跟python有关系统库的 libcrypto.so.10,libssl.so.10并没有拷贝过去。 本人还用Pyside。本人用的Pyside因为是手动编译的。依赖与C++版本的Qt库。所以必须将所有依赖都得拷过去。
查看依赖的动态库:windows Dependcy。linux 可以用ldd(本人电脑上不管用) readelf -d *.so | grep 'so'。
完成依赖库的拷贝以后。linux需要将当前目录设置在LD_LIBRARY_PATH里面。打包的可执行程序能够正常运行。
- python用cx_Freeze打包程序
- python 文件用cx_Freeze 打包
- python打包之cx_freeze
- Python打包(cx_Freeze)
- 打包python程序为exe文件using cx_freeze
- cx_freeze 打包 python 程序 缺少 vc 运行库的解决方法
- 使用cx_Freeze打包PyQt4程序
- python打包之cx_freeze(windows)
- 在Python3.4下,用cx_freeze打包PyQt4程序
- 在Python3.4下,用cx_freeze打包PyQt4程序
- 用cx_Freeze把python打包成exe可执行文件
- 用cx_Freeze把python打包成exe可执行文件
- 用cx_Freeze把python打包成exe可执行文件
- 用cx_Freeze把python打包成exe可执行文件
- 用cx_Freeze打包python成exe的方法
- 使用cx_freeze工具打包Python脚本
- windows下使用cx_freeze将Python程序打包成exe可执行文件
- windows下使用cx_freeze将Python程序打包成exe可执行文件
- 一个小方法,字节流读取.xls文件,将表内容写入到对应数据库表中
- Android 去掉ListView下拉出空白回弹的效果so简单
- java图片高保真缩放
- maven环境快速搭建
- 获取本机ip地址
- python用cx_Freeze打包程序
- Spring初出茅庐(一)
- Children of the Candy Corn DFS+BFS
- 基础二分(4)
- LoadRunner 技巧之 IP欺骗
- Java中基本数据类型占的字节数
- Android中如何获取视频文件的缩略图
- Java基础学习第七章之Java 集合
- 用arg_list查找n个数字中的最大者