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

时间:2017-03-19 19:50:37

标签: python ipython sympy spyder

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

2 个答案:

答案 0 :(得分:1)

看起来有人已经想出来并在GitHub上发布了一个解决方案。这是链接:https://github.com/sympy/sympy/issues/11882

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

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

# check_output() is new in Python 2.7
import os

try:
    try:
        from subprocess import check_output

最后,您需要删除最后一行,并将其替换为GitHub链接中的代码。生成的块应如下所示:

# 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

在我看来,他定义了一个代替check_output的函数,除了抑制输出窗口的参数总是被输入。希望这可以帮助其他人解决这个问题,我很欣赏在GitHub上修复Adam。

答案 1 :(得分:1)

我提交了拉取请求以解决此问题:

https://github.com/sympy/sympy/pull/12391