python3.4 +pyqt5 +cx_freeze 打包成exe

1、安装cx_freeze
  通过cx_Freeze-4.3.4-cp34-none-win_amd64.whl安装
安装方式:
cmd切换目录:运行 pip3 install cx_Freeze-4.3.4-cp34-none-win_amd64.whl



2、编写setup.py文件
#!/usr/bin/env python

import sys
from cx_Freeze  import setup, Executable
base  None
if sys.platform  ==  'win32' :
    base  'Win32GUI'

packages  = [
    'os'
]

options  {
    'build_exe' { 'packages' packages,  'include_files' : [ 'setup.properties' ]'icon' 'bus32.ico',
                  "includes" "atexit" },
}

executables  = [Executable ( 'install.py', base =base, targetName = 'installpay.exe' ) ]

setup (
    name = "PayInstall",
    version = "1.0.0",
    url = 'http://pay.dreams.edu.cn/',
    author = 'liuguanghui',
    author_email = 'sunsray@163.com',
    description = "Install for Pay PlatForm",
    options =options,
    executables =executables, requires =[ 'PyQt5' ]
)

3、cmd运行:python3 setup build或者 python setup.py bdist_msi打包
4、在其他机器上运行报错:竟然冒出个X:



费尽力气最后找出原因(stackoverflow):

 上面提出了首先查看这两个dll:QWindows.DLL and libEGL.dll h是否在生成的文件目录里存在

 然后: includes': ['atexit']这个必须有
mport sys
from cx_Freeze import setup, Executable

base = None
if sys.platform == 'win32':
    base = 'Win32GUI'

setup(name = 'spamandeggs',
      version = '0.0.1',
      executables = [Executable('spamandeggs.pyw', base=base)],
      options = {'build_exe': {'includes': ['atexit']}})

但发现以上都没解决,
从最后的回答解决了!!将msvcp100.dll拷贝到生成目录里即可

I got the same error today, and finally found a solution for me after a whole day of searching. I copied msvcp100.dll, and everything works.

wft

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值