Mayavi: Nenhum módulo chamado 'importlib_resources' para Python 3.8

Criado em 9 jan. 2021  ·  4Comentários  ·  Fonte: enthought/mayavi

Instalado com conda 4.8.2 no Python 3.8, a importação falha:

Python 3.8.6 | packaged by conda-forge | (default, Oct  7 2020, 18:42:56)
[Clang 10.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from mayavi import mlab
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/mayavi/mlab.py", line 16, in <module>
    from mayavi.tools.camera import view, roll, yaw, pitch, move
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/mayavi/tools/camera.py", line 24, in <module>
    from .engine_manager import get_engine
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/mayavi/tools/engine_manager.py", line 12, in <module>
    from mayavi.preferences.api import preference_manager
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/mayavi/preferences/api.py", line 4, in <module>
    from .preference_manager import preference_manager
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/mayavi/preferences/preference_manager.py", line 29, in <module>
    from traitsui.api import View, Group, Item
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/traitsui/api.py", line 35, in <module>
    from .editors.api import (
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/traitsui/editors/__init__.py", line 26, in <module>
    from .api import (
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/traitsui/editors/api.py", line 45, in <module>
    from .list_str_editor import ListStrEditor
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/traitsui/editors/list_str_editor.py", line 29, in <module>
    from pyface.image_resource import ImageResource
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/pyface/image_resource.py", line 19, in <module>
    ImageResource = toolkit_object("image_resource:ImageResource")
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/pyface/base_toolkit.py", line 152, in __call__
    module = import_module(mname, package)
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/pyface/ui/qt4/image_resource.py", line 25, in <module>
    from pyface.i_image_resource import IImageResource, MImageResource
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/pyface/i_image_resource.py", line 14, in <module>
    from pyface.resource_manager import resource_manager
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/pyface/resource_manager.py", line 14, in <module>
    from pyface.resource.api import ResourceManager
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/pyface/resource/api.py", line 13, in <module>
    from .resource_manager import ResourceManager
  File "/Users/scott/opt/anaconda3/envs/mapping/lib/python3.8/site-packages/pyface/resource/resource_manager.py", line 20, in <module>
    from importlib_resources import files
ModuleNotFoundError: No module named 'importlib_resources'

Eu acho que isso pode estar relacionado ao suporte do Python 3.9, como execução
pip install importlib-resources
corrige o problema (encontrado em https://pypi.org/project/importlib-resources/).

Não tenho certeza de qual seria a melhor maneira de consertar isso, ou contribuiria com o PR.

Comentários muito úteis

Eu acho que não é o bug de mayavi , mas sim o pacote de pyface do conda-forge, então este deve ser o problema certo a se observar:

https://github.com/conda-forge/pyface-feedstock/pull/27

Todos 4 comentários

Por alguma razão, sua instalação do Pyface não está captando a dependência de importlib_resources (e possivelmente também de importlib_metadata ). Se você usar pip ou edm eles devem instalar corretamente, mas parece que você está usando conda então você deve relatar isso como um problema para quem está fornecendo suas compilações Pyface.

Se você estiver usando pip para instalar o Pyface (ou Mayavi), relate isso como um problema no repositório Pyface!

Vou encerrar, pois não é um problema direto do Mayavi.

Seu pacote não funciona com conda corretamente
Você não deve apenas fechar o problema / seus olhos nele

Eu acho que não é o bug de mayavi , mas sim o pacote de pyface do conda-forge, então este deve ser o problema certo a se observar:

https://github.com/conda-forge/pyface-feedstock/pull/27

Obrigado @larsoner por apontar o problema em conda-forge. Esperançosamente, seu PR será mesclado em breve!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

yassersouri picture yassersouri  ·  5Comentários

GaelVaroquaux picture GaelVaroquaux  ·  13Comentários

thoth291 picture thoth291  ·  10Comentários

jan-janssen picture jan-janssen  ·  21Comentários

dnacombo picture dnacombo  ·  7Comentários