cx_Freeze tkinter 应用程序未运行 pexpect 线程

问题描述

我有一个 tkinter Python 应用程序,它在 Windows 上使用 pexpect 运行 ffmpeg。该应用程序获取一个目录,在该目录中查找任何视频文件,然后对该视频运行 ffmpeg。 (示例 ffmpeg 命令:ffmpeg -i "D:/New folder/2020/VID.mov" -vcodec libx264 -crf 40 -y "D:/New folder/2020/VID_coverted.mp4"

应用程序在从 vscode 或 powershell 运行时按预期工作。当我使用 cx_Freeze 制作 base='win32gui' 打包应用程序,然后在我的计算机上安装 MSI 时,应用程序的 ffmpeg 部分会中断。 但是,如果我将应用程序打包为控制台应用程序(换句话说,将 base 保留为认值),则 ffmpeg 部分可以工作。

我的猜测是出于某种原因 pexpect 需要打开一个控制台窗口。我个人不希望在应用程序运行时打开控制台窗口,但如果这是解决此问题的唯一方法,我希望能够隐藏它。

有什么我可能遗漏的东西可以提供帮助吗?

免责声明:

  • 我使用 pexpect 是因为我从 ffmpeg 获取当前帧输出以更新应用程序中的进度条。
  • 我曾尝试使用 wexpect 而不是 pexpect,但我遇到了同样的问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)