You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python打包成exe后input()报错:input(): lost sys.stdin

解决auto-py-to-exe打包Python代码后input()报错问题

报错原因

出现RuntimeError: input(): lost sys.stdin是因为打包后的.exe程序无法访问标准输入流,通常是打包时选择了无控制台窗口模式,导致程序运行时没有终端环境来接收input()的输入。

解决方案

1. 重新配置打包选项(推荐)

打开auto-py-to-exe,找到Console Window设置项:

  • 选择**"Console Based"**(或对应“带控制台窗口”的选项)
  • 重新生成.exe文件,启动后会自动弹出终端窗口,input()就能正常接收输入。

2. 替换input()为图形化交互(无需终端场景)

如果不需要显示终端窗口,可以用tkinter实现图形化确认框替代input():

import tkinter as tk
from tkinter import messagebox

# 隐藏主窗口
root = tk.Tk()
root.withdraw()

# 弹出确认对话框
confirm = messagebox.askyesno("启动确认", "Moechtest du wirklich das programm starten, wenn ja druecke die ENTER Taste!")
if confirm:
    # 执行程序核心逻辑
    pass

3. 排查其他可能问题

确保auto-py-to-exe的Additional Files中没有遗漏程序依赖,但此报错核心原因还是控制台配置问题,优先尝试前两种方法。

内容的提问来源于stack exchange,提问作者870.Wiktor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 11:25:34