import mayavi.mlab as mlab TypeError: __call__() got an unexpected keyword argument 'qualname'

python3導入mayavi出現錯誤 TypeError: __call__() got an unexpected keyword argument 'qualname'

mayavi==4.7.1 traitsui==6.1.3 traits==5.1.2

>>> import mayavi.mlab as mlab
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/mayavi/mlab.py", line 16, in <module>
    from mayavi.tools.camera import view, roll, yaw, pitch, move
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/mayavi/tools/camera.py", line 24, in <module>
    from .engine_manager import get_engine
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/mayavi/tools/engine_manager.py", line 12, in <module>
    from mayavi.preferences.api import preference_manager
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/mayavi/preferences/api.py", line 4, in <module>
    from .preference_manager import preference_manager
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/mayavi/preferences/preference_manager.py", line 29, in <module>
    from traitsui.api import View, Group, Item
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/traitsui/api.py", line 36, in <module>
    from .editors.api import ArrayEditor
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/traitsui/editors/__init__.py", line 23, in <module>
    from .api import ArrayEditor
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/traitsui/editors/api.py", line 24, in <module>
    from .code_editor import CodeEditor
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/traitsui/editors/code_editor.py", line 37, in <module>
    class ToolkitEditorFactory(EditorFactory):
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/traitsui/editors/code_editor.py", line 49, in ToolkitEditorFactory
    mark_color = Color(0xECE9D8)
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/traits/traits.py", line 655, in __call__
    return self.maker_function(*args, **metadata)
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/traits/traits.py", line 1414, in Color
    return ColorTrait(*args, **metadata)
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/traitsui/toolkit_traits.py", line 8, in ColorTrait
    return toolkit().color_trait(*args, **traits)
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/traitsui/toolkit.py", line 109, in toolkit
    _toolkit = find_toolkit('traitsui.toolkits')
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/pyface/base_toolkit.py", line 272, in find_toolkit
    toolkit = plugin.load()
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2434, in load
    return self.resolve()
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2440, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/traitsui/qt4/__init__.py", line 19, in <module>
    import pyface.qt
  File "/home/sdhm/.virtualenvs/pt1.0/lib/python3.5/site-packages/pyface/qt/__init__.py", line 80, in <module>
    importlib.import_module('.QtCore', module)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
TypeError: __call__() got an unexpected keyword argument 'qualname'

解決辦法,使用try except 導入mayavi:

這裏導入了兩次mayavi,不知爲何第一次導入會遇到上述問題,再次導入則不會出現!

try:
    import mayavi.mlab as mlab
except:
    try:
        import mayavi.mlab as mlab
    except ImportError:
        logging.error('Failed to import mayavi')

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章