Pas*_*ula 4 python pyinstaller electron
我有一个 Electron 应用程序xxx.exe,它生成一个从 PyInstaller 创建的可执行文件yyy.exe。在 , 中yyy.exe,我终于尝试git通过subprocess.check_output(). 可悲的是,调用check_output()throws [WinError 6] The handle is invalid。
如果yyy.exe直接在命令行上启动,一切运行正常。该问题仅发生在 Windows 上。我的假设是有一些检查stdin会触发异常,因为通过 Electron 应用程序运行不提供任何标准输入。
任何提示将不胜感激!提前致谢!
在 Windows 上,subprocess.Popen尝试复制非零标准句柄并在它们无效时失败。您可以将stdin和重定向stderr到 NUL。例如:
import os
try:
from subprocess import DEVNULL
except ImportError:
DEVNULL = os.open(os.devnull, os.O_RDWR)
output = subprocess.check_output(cmd, stdin=DEVNULL, stderr=DEVNULL)
Run Code Online (Sandbox Code Playgroud)