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.
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:
Obrigado @larsoner por apontar o problema em conda-forge. Esperançosamente, seu PR será mesclado em breve!
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