zoukankan      html  css  js  c++  java
  • windows下 使用pyinstaller 打包os.Popen()问题

    问题:pyinstaller 使用-w打包后os.Popen()运行提示WindowsError:[Error 6]

    网上搜索办法:

    1.subprocess.Popen调用报异常:
    当使用pyinstaller打成.exe文件安装后
    使用p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    报WindowsError:[Error 6]异常
    单独使用subprocess.check_output(cmd)同样报此异常。
    奇怪的是,直接用源码测试执行时系统完全没有任何问题。
    后来才发现,当使用pyinstaller打包时,Popen应该如下初始化:

    p = subprocess.Popen("cmd",shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    msg = ''
    for line in p.stdout.readlines():
        msg += line
    status = p.wait()

    可惜不好使,还是曲线救国吧,继续使用os.system,一开始没用是因为os.system默认阻塞当前程序执行,但是在cmd命令前加入start可不阻塞当前程序执行。如下

    import os
    os.system(r"start qq.exe")

    这样至少当前程序执行没问题了,但是原问题还是没解决,先记录一下,继续寻找答案吧,有热心大神可以给留言中留下解决办法。

  • 相关阅读:
    c++ tinyxml
    fmod简单播放mp3
    D3DXVec3TransformCoord 函数 D3DXVec3TransformNormal 函数
    D3DXMATRIX
    OpenGL FBO
    Opengl Freeimage 保存屏幕像素到图片
    fmod播放mp3 vs2010测试通过
    Hermite与Bezier曲线绘制方法研究
    D3DXVECTOR3
    c++ windows下创建文件夹和删除文件夹
  • 原文地址:https://www.cnblogs.com/zpw-1/p/10579718.html
Copyright © 2011-2022 走看看