PyCharm运行默认复用同一Run标签页,取消“Single instance only”勾选即可每次新建标签页;print输出不弹OS窗口,plt.show()等GUI调用才触发系统级新窗口。

PyCharm 运行结果默认不打开新窗口,必须手动配置
PyCharm 的 Run 工具窗口默认复用同一个标签页,每次运行都刷新当前内容,不会自动弹出新窗口。所谓“新窗口”,实际是指新操作系统级窗口(如独立的图形窗口),或新 IDE 标签页(如新选项卡)。PyCharm 本身不支持将标准输出(print)强制弹到独立 OS 窗口——那是 plt.show() 或 Tk().mainloop() 等 GUI 库的行为,不是运行配置能控制的。
想让每次运行都在新标签页显示?改 Run Configuration
这是最接近“新窗口”需求的可行方案:让每次运行结果在 Services 或 Run 工具窗口中新开一个选项卡,避免覆盖前一次输出。
- 打开
Settings(Windows/Linux:Ctrl+Alt+S;macOS:Cmd+,) - 导航到
Tools → Terminal → Shell path❌ 错路径 —— 正确路径是:Tools → Python Console(仅影响 Console)或更关键的:Tools → Python or Django → Run Configurations → Templates → Python - 但真正生效的是全局设置:
Tools → Database → Query Execution → Output & Results→ 勾选In new tab?❌ 不对,那是数据库查询用的 - 正确路径:
Run → Edit Configurations… → Templates → Python → Add content from template→ 点击右上角Templates下拉 → 选Python→ 勾选Single instance only取消勾选(否则强制复用)→ 更关键的是:在Defaults → Python配置里,确保Allow multiple instances已启用 - 实际起效项在:点击任意运行配置 → 右侧勾选
Single instance only✅ 取消它 → 每次运行都会新建一个Run标签页
为什么 plt.show() 会弹新窗口,而 print 不会?
这是底层机制差异,不是 PyCharm 设置问题:
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
-
print("hello")输出到 stdout → 被 PyCharm 拦截并显示在Run窗口的文本流里,纯文本,无窗口概念 -
plt.show()调用的是 matplotlib 后端(如 TkAgg、Qt5Agg),它会启动一个独立的 GUI 进程 → 操作系统创建新窗口 → PyCharm 不参与也不控制该窗口生命周期 - 如果
plt.show()没弹窗,常见原因是 SciView 干预:Settings →Tools → Python Scientific→ 取消勾选Show plots in SciView(否则图像被嵌入 IDE 内部面板) - 若用
cv2.imshow(),需加cv2.waitKey(0),否则窗口闪退 —— 这和 PyCharm 无关,是 OpenCV 自身要求
真要 OS 级新窗口?得靠代码自己触发
PyCharm 不提供“把 print 输出到新记事本窗口”这类功能。但你可以用 Python 启动外部程序重定向输出:
-
import os; os.system('notepad.exe output.txt')(Windows) -
os.system('open -a TextEdit output.txt')(macOS) - 先写文件:
with open('output.txt', 'w') as f: f.write(str(result)),再调用系统命令打开 - 注意:这会脱离 PyCharm 的实时输出流,调试时看不到中间过程,仅适合最终结果导出
- 更稳妥的做法是用日志文件 + 手动双击打开,而非自动化弹窗(易被杀毒软件拦截或权限拒绝)
真正容易被忽略的是:所谓“新窗口”诉求,90% 场景其实只需要确保 Run 标签页不被覆盖 —— 关键操作就是取消运行配置里的 Single instance only 勾选,并确认快捷键 Alt+4 能唤出底部窗口。其他路径都是绕远路。

















