我的项目中有一个奇怪的错误,它使用PySide作为它的Qt GUI,并且为了响应我试图用设置环境的简单代码进行测试。PySide Qt脚本不从Spyder启动,但从shell中运行
这里是我与测试代码:当我启动,从我的外壳(python test.py
),它完美https://stackoverflow.com/a/6906552/130164
。然而,当我运行的Spyder该脚本,我得到以下错误:
Traceback (most recent call last):
File "/home/test/Desktop/test/test.py", line 31, in <module>
app = QtGui.QApplication(sys.argv)
RuntimeError: A QApplication instance already exists.
如果有帮助,我也得到了以下警告:
/usr/lib/pymodules/python2.6/matplotlib/__init__.py:835: UserWarning: This call to matplotlib.use() has no effect
because the the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.
为什么从启动时的代码工作我的外壳,但不是从Spyder?
更新:马塔回答这种情况发生的问题,因为Spyder的使用Qt,这是有道理的。现在,我已经使用“在外部系统终端执行”选项在Spyder中设置执行,但不会导致错误但不允许调试。 Spyder有任何内置的解决方法吗?
这就是我怀疑的问题。你知道Spyder中是否有任何解决方法?现在,我已经使用“在外部系统终端执行”选项在Spyder中设置执行,但不会导致错误但不允许调试。也许Spyder对此有一些解决方法? –
我不太了解spyder,所以除了捕捉错误我不知道。 – mata
确实Spyder运行在Qt应用程序实例中,但是所有的Python控制台实例都是在其各自独立的进程中执行的。 – Jed