Skrypt PySide Qt nie uruchamia się ze Spydera, ale działa z powłoki
Mam dziwny błąd w moim projekcie, który używa PySide do swojego GUI Qt iw odpowiedzi próbuję przetestować z prostszym kodem, który konfiguruje środowisko.
Oto kod, który testuję:https://stackoverflow.com/a/6906552/130164
Kiedy uruchamiam to z mojej powłoki (python test.py
), działa doskonale. Jednak po uruchomieniu tego skryptu w Spyder pojawia się następujący błąd:
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.
Jeśli to pomoże, otrzymuję również następujące ostrzeżenie:
/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.
Dlaczego ten kod działa po uruchomieniu z mojej powłoki, ale nie z Spyder?
Aktualizacja: Mata odpowiedział, że problem występuje, ponieważ Spyder używa Qt, co ma sens. Na razie skonfigurowałem wykonanie w Spyder za pomocą opcji „Wykonaj w zewnętrznym terminalu systemowym”, która nie powoduje błędów, ale nie pozwala na debugowanie.Czy Spyder ma jakieś wbudowane obejścia tego problemu?