【发布时间】:2020-03-03 13:55:22
【问题描述】:
我正在使用 python 进行文本冒险,我遇到的问题是让 spyder 打开交互式 cmd 窗口。到目前为止,我已经尝试os.systems('cmd / k') 尝试打开它,但我无法运行任何代码并不断收到应用程序无法运行此文件错误。我当前的代码运行一个导入模块,该模块从另一个源代码文件中提取实际冒险。我怎样才能让它只有一个文件运行并打开cmd窗口播放文本冒险?
【问题讨论】:
标签: python-3.x spyder
我正在使用 python 进行文本冒险,我遇到的问题是让 spyder 打开交互式 cmd 窗口。到目前为止,我已经尝试os.systems('cmd / k') 尝试打开它,但我无法运行任何代码并不断收到应用程序无法运行此文件错误。我当前的代码运行一个导入模块,该模块从另一个源代码文件中提取实际冒险。我怎样才能让它只有一个文件运行并打开cmd窗口播放文本冒险?
【问题讨论】:
标签: python-3.x spyder
(这里是 Spyder 维护者) Cmd 窗口默认是隐藏的,因为有些包在运行代码时会打开很多窗口(例如pyomo)。
要改变这种行为,你需要去
Tools > Preferences > IPython console > Advanced settings > Windows adjustments
并停用名为Hide command line output windows generated by the subprocess module 的选项。
【讨论】:
我发现自己处于类似情况,为一个使用大量 Spyder 的研究小组开发代码。我想出了这个解决方法来强制使用香草 Popen 类,无论它是否从 Spyder 运行(完全披露我没有非常积极地测试它):
import subprocess
try:
from spydercustomize import SubprocessPopen
except ImportError:
SubprocessPopen = subprocess.Popen
else:
SubprocessPopen = SubprocessPopen.__bases__[0]
process = SubprocessPopen()
【讨论】: