2014-09-24 3 views
1

Я получаю следующую ошибку при запуске отладочной сессии в Eclipse для моего кода, который также использует Enthought Mayavi и PyQt. Вот журнал ошибок в консоли.API 'QString' уже установлен на версию 1 на Eclipse

pydev debugger: starting (pid: 2208) 
Traceback (most recent call last): 
    File "D:\eclipse\plugins\org.python.pydev_3.7.1.201409021729\pysrc\pydevd.py", 

line 2090, in debugger.run(setup['file'], None, None) File "D:\eclipse\plugins\org.python.pydev_3.7.1.201409021729\pysrc\pydevd.py", line 1547, in run pydev_imports.execfile(file, globals, locals) # execute the script File "D:\src\Candls_PyQt\src\application.py", line 10, in sip.setapi("QString",2) ValueError: API 'QString' has already been set to version 1

Вот мой фрагмент кода.

from traits.etsconfig.api import ETSConfig 
ETSConfig.toolkit = 'qt4' 

import sip 
sip.setapi("QString",2) 
sip.setapi("QVariant",2) 
from PyQt4 import QtCore, QtGui, uic 
+0

Вы уверены, что ваша самая первая строка делает не приведет к каким-либо импортерам 'PyQt4'? Это обычно так - вызовы 'setapi' должны происходить до импорта PyQt. – sebastian

+0

Я не знаю, затмение, но вы используете свой код в режиме pylab? Это установило бы бэкэнд графического интерфейса перед тем, как ваш фрагмент запустится. –

ответ

1

Это была проблема, возникшая в последней версии отладчика.

Ошибка в PyDev: https://sw-brainwy.rhcloud.com/tracker/PyDev/452 (исправлено уже, но оно еще не выпущено).

Обойти теперь было бы вручную применения исправления: https://github.com/fabioz/Pydev/commit/af39f23bc884e9514aaaeede7b6e77e22b6823f6 в вашей локальной версии pydev_monkey_qt.py (внутри затмением/плагины/org.python.pydev/pysrc)

 Смежные вопросы

  • Нет связанных вопросов^_^