【问题标题】:pyinstaller program not working if built without console如果在没有控制台的情况下构建,pyinstaller 程序将无法工作
【发布时间】:2013-03-11 14:51:48
【问题描述】:

我有一个小应用程序,正在尝试针对 Windows 机器构建。该程序创建一个 OpenVPN 连接。如果我构建程序并运行它,它首先会打开一个控制台作为程序输出。如果我将 -w 参数传递给 pyinstaller 以不使用附加的控制台构建它,则程序根本无法运行。它可以正常打开,但从未创建过 vpn 连接。

使用控制台,一切正常。

我还为应用程序设置了一个基本日志记录,以查看我的代码可能在哪里停止并且没有写入任何内容。在我的程序中使用控制台会吐出各种日志。

我只是不知道为什么我的程序可以在控制台上完美运行,但没有控制台则什么也做不了。有什么想法吗?

【问题讨论】:

    标签: pyinstaller


    【解决方案1】:

    我自己来回答。确保不打印任何内容,并且将所有标准输出重定向到记录器、文件或其他任何内容,而不是控制台。

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题,但找不到任何打印/标准输出语句进入控制台。我正在使用 subprocess.Popen 并重定向 stdout=subprocess.PIPE。我随后添加了 stderr=subprocess.STDOUT 和 stdin=subprocess.PIPE 并且我的程序正常工作。这个关于子进程失败的页面 (Python subprocess.call() fails when using pythonw.exe) 帮助我让它工作。

      【讨论】:

        猜你喜欢
        • 2023-03-24
        • 2013-09-26
        • 2018-08-16
        • 1970-01-01
        • 2014-10-10
        • 2013-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多