我的项目中有一个奇怪的错误,它使用 PySide 作为其 Qt GUI,作为回应,我试图用设置环境的更简单的代码进行测试。
这是我正在测试的代码:https ://stackoverflow.com/a/6906552/130164
当我从我的 shell ( python test.py
) 启动它时,它运行良好。但是,当我在 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.
为什么该代码从我的 shell 启动而不是从 Spyder 启动时有效?
更新: Mata 回答说问题的发生是因为 Spyder 使用 Qt,这是有道理的。目前,我已经使用“在外部系统终端中执行”选项在 Spyder 中设置了执行,这不会导致错误,但也不允许调试。Spyder 是否有任何内置的解决方法?