当开发完成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)的更多相关文章

  1. [python] 安装numpy+scipy+matlotlib+scikit-learn及问题解决

    这篇文章主要讲述Python如何安装Numpy.Scipy.Matlotlib.Scikit-learn等库的过程及遇到的问题解决方法.最近安装这个真是一把泪啊,各种不兼容问题和报错,希望文章对你有所 ...

  2. numpy+scipy+matlotlib+scikit-learn的安装及问题解决

    NumPy(Numeric Python)系统是Python的一种开源的数值计算扩展,一个用python实现的科学计算包.它提供了许多高级的数值编程工具,如:矩阵数据类型.矢量处理,以及精密的运算库. ...

  3. windows下安装python numpy+scipy+matlotlib+scikit-learn等流行库

    (1)请不要直接使用   pip install scikit-learn pip install Numpy pip install Scipy pip install Matplotlib 命令安 ...

  4. matplotlib numpy scipy 的安装

    一:windows 端的安装 #cmd指令 python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sym ...

  5. 基于DevExpress的Winform程序安装包的制作

    在我们做系统开发的时候,都会面临一个安装包制作的问题,如何把我们做好的系统,通过安装包工具整合成一个安装包给客户进行安装.安装包的优势就是一步步安装就可以了,不用复制一大堆文件给客户,还怕缺少那个文件 ...

  6. windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等

    安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...

  7. linux python 安装 nose lapack atlas numpy scipy

    linux python 安装 nose lapack atlas numpy scipy --http://lib.csdn.net/article/python/1262 作者:maple1149 ...

  8. ok6410[002] ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境

    ubuntu1604系统下搭配ckermit和dnw基于RAM的裸机程序调试环境 系统:  ubuntu16.04 裸板: 飞凌公司OK6410开发板 目标:搭建基于ubuntu1604系统和基于RA ...

  9. 如何在VS2010的VC++ 基于对话框的MFC程序中添加菜单

    方法1:亲测 成功  转载自https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/48338f6b-e5d9-4c0c-8b17-05ca3ef ...

随机推荐

  1. Kong for Enterprise | Kong - Open-Source API and Microservice Management Layer

    Kong for Enterprise | Kong - Open-Source API and Microservice Management Layer undefined

  2. 4 hbase表结构 + hbase集群架构及表存储机制

      本博文的主要内容有    .hbase读取数据过程 .HBase表结构 .附带PPT http://hbase.apache.org/ 读写的时候,就需要用hbase了,换句话说,就是读写的时候. ...

  3. config 数据库字符串的读取、修改 分类: WebForm 2014-12-16 10:24 203人阅读 评论(0) 收藏

    config数据库字符串: <connectionStrings>   <add name="MyWebDataString" connectionString= ...

  4. Memo打印

        加入Printers单元, ;   Left ;    y ;; do      begin        Printer.Canvas.TextOut(x,y,Memo1.Lines[i]) ...

  5. Delphi下实现全屏快速找图找色

    前言 最近有好几个朋友都在问我找图找色的问题,奇怪?于是乎写了一个专门用于找图找色的单元文件“BitmapData.pas”.在这个单元文件中我实现了从文件中导入位图.屏幕截图.鼠标指针截图.在图片上 ...

  6. android 23 启动带2个Categories值的预定义acticity和桌面activity

    mainActivity.java package com.sxt.day04_07_twoaction; import android.os.Bundle; import android.app.A ...

  7. 高级性能调试手段(oprofile+gprofile)+内核追踪手段:LTT

    http://blog.csdn.net/wlsfling/article/details/5876134http://www.lenky.info/archives/2012/03/1371http ...

  8. systemTAP 学习

    http://blog.csdn.net/moonvs2010/article/category/1570309

  9. css考核点整理(一)-浮动的理解和清除浮动的几种方式

    浮动的理解和清除浮动的几种方式 clear语法:clear : none | left | right | both 取值:none : 默认值.允许两边都可以有浮动对象left : 不允许左边有浮动 ...

  10. sql 语句总结

    sql 语句的总结: 下面是个统计  from_userid 字段相同的数数量有多少在用num参数来接收,这个数值: select *,count(*)  as num from invitation ...