2013-05-23 2 views
0

Я пытаюсь загрузить пакет enthought.mayavi.mlab в паутинном enviorment питона:Невозможно загрузить пакет «enthought.mayavi.mlab»

import enthought.mayavi.mlab as mlb 

И я получаю следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 487, in runfile 
    execfile(filename, namespace) 
    File "C:\Users\Eytan\Desktop\Mah\PyBrainTraining.py", line 2, in <module> 
    import enthought.mayavi.mlab as mlb 
    File "C:\Python27\lib\site-packages\enthought\mayavi\mlab.py", line 3, in <module> 
    from mayavi.mlab import * 
    File "C:\Python27\lib\site-packages\mayavi\mlab.py", line 27, in <module> 
    from mayavi.tools.camera import view, roll, yaw, pitch, move 
    File "C:\Python27\lib\site-packages\mayavi\tools\camera.py", line 25, in <module> 
    from engine_manager import get_engine 
    File "C:\Python27\lib\site-packages\mayavi\tools\engine_manager.py", line 12, in <module> 
    from mayavi.preferences.api import preference_manager 
    File "C:\Python27\lib\site-packages\mayavi\preferences\api.py", line 4, in <module> 
    from preference_manager import preference_manager 
    File "C:\Python27\lib\site-packages\mayavi\preferences\preference_manager.py", line 29, in <module> 
    from traitsui.api import View, Group, Item 
    File "C:\Python27\lib\site-packages\traitsui\api.py", line 35, in <module> 
    from .editors.api import (ArrayEditor, BooleanEditor, ButtonEditor, 
    File "C:\Python27\lib\site-packages\traitsui\editors\__init__.py", line 22, in <module> 
    from .api import (toolkit, ArrayEditor, BooleanEditor, ButtonEditor, 
    File "C:\Python27\lib\site-packages\traitsui\editors\api.py", line 10, in <module> 
    from .code_editor import CodeEditor 
    File "C:\Python27\lib\site-packages\traitsui\editors\code_editor.py", line 36, in <module> 
    class ToolkitEditorFactory (EditorFactory): 
    File "C:\Python27\lib\site-packages\traitsui\editors\code_editor.py", line 48, in ToolkitEditorFactory 
    mark_color = Color(0xECE9D8) 
    File "C:\Python27\lib\site-packages\traits\traits.py", line 487, in __call__ 
    return self.maker_function(*args, **metadata) 
    File "C:\Python27\lib\site-packages\traits\traits.py", line 1183, in Color 
    return ColorTrait(*args, **metadata) 
    File "C:\Python27\lib\site-packages\traitsui\toolkit_traits.py", line 7, in ColorTrait 
    return toolkit().color_trait(*args, **traits) 
    File "C:\Python27\lib\site-packages\traitsui\toolkit.py", line 109, in toolkit 
    _toolkit = _import_toolkit(ETSConfig.toolkit) 
    File "C:\Python27\lib\site-packages\traitsui\toolkit.py", line 51, in _import_toolkit 
    return __import__(name, globals=globals(), level=1).toolkit 
    File "C:\Python27\lib\site-packages\traitsui\qt4\__init__.py", line 18, in <module> 
    import pyface.qt 
    File "C:\Python27\lib\site-packages\pyface\qt\__init__.py", line 35, in <module> 
    prepare_pyqt4() 
    File "C:\Python27\lib\site-packages\pyface\qt\__init__.py", line 17, in prepare_pyqt4 
    sip.setapi('QString', 2) 
ValueError: API 'QString' has already been set to version 1 

Кто-нибудь знает, как это исправить? Edit: Если это поможет, я вижу, думаю, что проблема объясняется в последнем столбце:

ValueError: API 'QString' has already been set to version 1 

Edit: Я попытался изменить выбор API для QString и QVariant объектов в Апи # 1, # 2. не помогло. Попытался либо установить «Игнорировать ошибки изменения API» на значение true, не помогло. Пробовал EST_TOOLKIT с 'qt4' до 'wx'.

ответ

0

Возможно, это связано с тем, что сам паук использует библиотеку QT и уже инициализировал его. В соответствии с этим http://pythonhosted.org/spyder/installation.html вы можете использовать PySide вместо PyQt4 (но я не знаю, является ли это параметром конфигурации или резервным).

+0

спасибо, но что вы подразумеваете под PySide и PyQt4? – user2129468

+0

Требования к установке для паука говорят, что ему нужен PyQt4 OR PySide, поэтому, предположительно, вы можете заставить его использовать PySide, и таким образом оставить PyQt4 неинициализированным, поэтому избегайте проблемы с двойной инициализацией. –