【问题标题】:Getting rid of black console windows when running sympy through spyder通过 spyder 运行 sympy 时摆脱黑色控制台窗口
【发布时间】:2017-08-11 00:19:53
【问题描述】:

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

【问题讨论】:

  • 我认为如果不对 Github 上的 Sympy 存储库提出拉取请求,这将无法解决,抱歉。
  • 感谢您的建议!然而,似乎其他人也遇到了同样的问题,并提出了一个他们发布到 GitHub 上的 Sympy 存储库的解决方案。

标签: python ipython sympy spyder


【解决方案1】:

我提交了一个拉取请求来解决这个问题:

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

【讨论】:

    【解决方案2】:

    看起来有人已经想通了,并在 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 上的亚当。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-12
      相关资源
      最近更新 更多