基于cx_freeze编译PyQt4程序(numpy & scipy)
当开发完成PyQt4程序后,需要提供给他人使用,这时最好的办法是将Python程序编译成exe文件。
通常我采用cx_freeze完成这个工作,即编写setup.py文件,执行python setup.py build即可。
(1) 对于一般的PyQt4程序,setup.py内容如下:
import sys from cx_Freeze import setup, Executable base = None
if sys.platform == 'win32':
base = 'Win32GUI' options = {
'build_exe': {
'includes': ['atexit'],
'excludes': ['Tkinter',
'collections.sys',
'collections._weakref']
}
} setup(
name="程序名",
version="版本号",
description="",
options=options,
executables=[Executable("主程序绝对路径", base=base,
icon="图标绝对路径")])
(2) 当使用numpy后,则setup.py修改为:
import sys from cx_Freeze import setup, Executable base = None
if sys.platform == 'win32':
base = 'Win32GUI' options = {
'build_exe': {
'includes': ['atexit',
'numpy'],
'excludes': ['Tkinter',
'collections.sys',
'collections._weakref']
}
} setup(
name="程序名",
version="版本号",
description="",
options=options,
executables=[Executable("主程序绝对路径", base=base,
icon="图标绝对路径")])
(3) 当使用scipy后,利用cx_freeze编译时会出现Import Error: No module named 'scipy'。
这时需要将cx_Freeze文件夹下的hooks.py的第548行代码"finder.IncludePackage("scipy.lib")"改为"finder.IncludePackage("scipy._lib")"。
相应的setup.py修改如下:
import sys
import numpy # 一定要有,否则会出现_ufuncs错误 from cx_Freeze import setup, Executable base = None
if sys.platform == 'win32':
base = 'Win32GUI' options = {
'build_exe': {
'packages': ['scipy'], # 重要
'includes': ['atexit',
'numpy',
'scipy'],
'excludes': ['Tkinter',
'collections.sys',
'collections._weakref']
}
} setup(
name="程序名",
version="版本号",
description="",
options=options,
executables=[Executable("主程序绝对路径", base=base,
icon="图标绝对路径")])
基于cx_freeze编译PyQt4程序(numpy & scipy)的更多相关文章
- [python] 安装numpy+scipy+matlotlib+scikit-learn及问题解决
这篇文章主要讲述Python如何安装Numpy.Scipy.Matlotlib.Scikit-learn等库的过程及遇到的问题解决方法.最近安装这个真是一把泪啊,各种不兼容问题和报错,希望文章对你有所 ...
- numpy+scipy+matlotlib+scikit-learn的安装及问题解决
NumPy(Numeric Python)系统是Python的一种开源的数值计算扩展,一个用python实现的科学计算包.它提供了许多高级的数值编程工具,如:矩阵数据类型.矢量处理,以及精密的运算库. ...
- windows下安装python numpy+scipy+matlotlib+scikit-learn等流行库
(1)请不要直接使用 pip install scikit-learn pip install Numpy pip install Scipy pip install Matplotlib 命令安 ...
- matplotlib numpy scipy 的安装
一:windows 端的安装 #cmd指令 python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sym ...
- 基于DevExpress的Winform程序安装包的制作
在我们做系统开发的时候,都会面临一个安装包制作的问题,如何把我们做好的系统,通过安装包工具整合成一个安装包给客户进行安装.安装包的优势就是一步步安装就可以了,不用复制一大堆文件给客户,还怕缺少那个文件 ...
- windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等
安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...
- linux python 安装 nose lapack atlas numpy scipy
linux python 安装 nose lapack atlas numpy scipy --http://lib.csdn.net/article/python/1262 作者:maple1149 ...
- ok6410[002] ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境
ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境 系统: ubuntu16.04 裸板: 飞凌公司OK6410开发板 目标:搭建基于ubuntu1604系统和基于RA ...
- 如何在VS2010的VC++ 基于对话框的MFC程序中添加菜单
方法1:亲测 成功 转载自https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/48338f6b-e5d9-4c0c-8b17-05ca3ef ...
随机推荐
- struts2 最新S2-016-S2-017漏洞通杀struts2所有版本及修复方法
详情查看http://zone.wooyun.org/content/5159 官方漏洞说明 http://struts.apache.org/release/2.3.x/docs/s2-016.ht ...
- Unity3D开发类似保龄球游戏
先学习一些基本的脚本实现: 1.动态创建物体.默认位置是(0,0)位置 GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Cube ...
- 【大盛】HTC one/M7 ROM 最新本地化OrDroid8.2.6 高级、快速设置 永久root 更多自定义 稳定 流畅
了解更多:点击下载ROM和学习更多 ROM版本 HTC-one_OrDroid8.2.6 ROM作者 雪狼团队·大盛 http://weibo.com/DaShengdd Android版本 Andr ...
- Spring三 Bean的三种创建方式
创建Bean的三种方式在大多数情况下,Spring容器直接通过new关键字调用构造器来创建Bean实例,而class属性指定Bean实例的实现类,但这不是实例化Bean的唯一方法.实际上,Spring ...
- ODBC 中遇到的错误
直接贴解决办法的链接: http://zhidao.baidu.com/link?url=pyd2AiazzsZr4IlMpiCdXlLC6nnao908xmqmY9QI0yj8vIGCbRPRrqh ...
- 20169210《Linux内核原理与分析》第一周作业
第一次接触Linux,还是有点不适应的,与Windows区别还是比较大的.在免费与收费.软件与支持.安全性.使用习惯.可定制性和应用范畴等方面都有区别. 通过实验楼的<Linux基础入门(新版) ...
- 数据库中存储日期的字段类型究竟应该用varchar还是datetime ?
背景: 前段时间在百度经验看到一篇文章<如何在电脑右下角显示你(爱人)的名字>,之前也听过这个小技巧,但没真正动手设置过.所以出于好奇就实践了一下. 设置完成后的效果例如以下.右下角的时间 ...
- [RxJS] Filtering operators: take, first, skip
There are more operators in the filtering category besides filter(). This lesson will teach how take ...
- PNP8550(3.3V DC蜂鸣器) - 原理图系列
一.截图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2Jpbl9ITEo4MA==/font/5a6L5L2T/fontsize/400/fi ...
- Android 图标上面添加提醒(二)使用开源UI类库 Viewbadger
版权声明:本文为博主原创文章,未经博主允许不得转载. 上一篇讲到用canvas进行绘制得到对应最终的bitmap. 在实际应用中,我们除了给图标添加数字外,也有可能加一些红色方块之类的图标作为新功能的 ...