Python 通过spyder运行sympy时摆脱黑色控制台窗口

Python 通过spyder运行sympy时摆脱黑色控制台窗口,python,ipython,sympy,spyder,Python,Ipython,Sympy,Spyder,每当我试图通过IPython控制台在Spyder中显示符号数学时,会弹出几个黑色控制台窗口,然后很快消失。它打印表达式,但我想知道是否有办法摆脱这些窗口。如果有帮助,这些窗口的标题为“C:\Program Files\MikTex 2.9…” 看来有人已经找到了答案,并在GitHub上发布了一个解决方案。这是链接: 我(作为新手)花了一段时间才弄清楚他到底做了什么,所以下面只是一个更详细的解释: 首先需要在Symphy包中找到兼容模块。对我来说,它位于“C:\Users\Lucas\Anacon

每当我试图通过IPython控制台在Spyder中显示符号数学时,会弹出几个黑色控制台窗口,然后很快消失。它打印表达式,但我想知道是否有办法摆脱这些窗口。如果有帮助,这些窗口的标题为“C:\Program Files\MikTex 2.9…”

看来有人已经找到了答案,并在GitHub上发布了一个解决方案。这是链接:

我(作为新手)花了一段时间才弄清楚他到底做了什么,所以下面只是一个更详细的解释:

首先需要在Symphy包中找到兼容模块。对我来说,它位于“C:\Users\Lucas\Anaconda3\Lib\site packages\sympy\core\compatibility.py”。接下来,您需要(在该模块的源代码中)搜索
check\u output
函数。周围的代码应该类似于:

# check_output() is new in Python 2.7
import os

try:
    try:
        from subprocess import check_output
最后,您需要去掉最后一行,并用GitHub链接中的代码替换它。生成的块应如下所示:


在我看来,他定义了一个函数来代替
check_output
,除了抑制输出窗口的参数总是输入。希望这能帮助其他有这个问题的人,我感谢Adam对GitHub的修复

我提交了一个拉取请求以永久修复此问题:


我认为如果没有针对Github上Symphy存储库的拉取请求,就无法修复此问题,对不起。谢谢您的建议!然而,似乎其他人也遇到了同样的问题,并提出了一个解决方案,并将其发布到GitHub上的Symphy存储库中。
# check_output() is new in Python 2.7
import os

try:
    try:
        from subprocess import check_output as subprocess_check_output
        def check_output(*args, **kwargs):
            return subprocess_check_output(*args, **kwargs, creationflags=0x08000000) # CREATE_NO_WINDOW