当 运行 QT 中的应用程序时,防止 Python 内核崩溃
Prevent Python kernal from crashing when running an application in QT
我正在尝试使用 Spyder 使用 PysideQT 编写程序。虽然应用程序 运行 从命令行运行良好,但当从 Spyder 的解释性 Python 内核 运行 运行时,该程序会导致 Python 的内核崩溃。我无法弄清楚是什么导致了这个问题。我在 64 位系统上 运行ning Ubuntu LTS 14.04。再一次,当我 运行 来自终端的程序时,这个问题不会发生。
我编写了以下导致内核崩溃的程序:
import sys
import PySide.QtGui as qg
app = qg.QApplication(sys.argv)
这是控制台输出的转储:
看来内核意外死机了。使用 'Restart kernel' 继续使用此控制台。
似乎内核意外死亡。使用 'Restart kernel' 继续使用此控制台。
似乎内核意外死亡。使用 'Restart kernel' 继续使用此控制台。
如有任何帮助,我们将不胜感激。
我找到了解决办法。本质上,您不能使用 Spyder 中的 sys.argv,因为 Spyder 启动程序的方式是未定义的。您可以手动设置 Spyder 来指定它,或者您可以将 sys.argv 替换为文件名,在我的例子中是 fileloader.py.
我正在尝试使用 Spyder 使用 PysideQT 编写程序。虽然应用程序 运行 从命令行运行良好,但当从 Spyder 的解释性 Python 内核 运行 运行时,该程序会导致 Python 的内核崩溃。我无法弄清楚是什么导致了这个问题。我在 64 位系统上 运行ning Ubuntu LTS 14.04。再一次,当我 运行 来自终端的程序时,这个问题不会发生。
我编写了以下导致内核崩溃的程序:
import sys
import PySide.QtGui as qg
app = qg.QApplication(sys.argv)
这是控制台输出的转储:
看来内核意外死机了。使用 'Restart kernel' 继续使用此控制台。
似乎内核意外死亡。使用 'Restart kernel' 继续使用此控制台。
似乎内核意外死亡。使用 'Restart kernel' 继续使用此控制台。
如有任何帮助,我们将不胜感激。
我找到了解决办法。本质上,您不能使用 Spyder 中的 sys.argv,因为 Spyder 启动程序的方式是未定义的。您可以手动设置 Spyder 来指定它,或者您可以将 sys.argv 替换为文件名,在我的例子中是 fileloader.py.