Mayavi: Нет модуля с именем importlib_resources для Python 3.8

Созданный на 9 янв. 2021  ·  4Комментарии  ·  Источник: enthought/mayavi

При установке с conda 4.8.2 на Python 3.8 импорт не выполняется:

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'

Я думаю, это может быть связано с поддержкой Python 3.9, так как работает
pip install importlib-resources
устраняет проблему (находится на https://pypi.org/project/importlib-resources/).

Я не уверен, что лучше всего исправить, иначе я бы внес свой вклад в PR.

Самый полезный комментарий

Я думаю, что это не ошибка mayavi , а это упаковка pyface в conda-forge, так что это должно быть правильным вопросом, на который стоит обратить внимание:

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

Все 4 Комментарий

По какой-то причине ваша установка Pyface не зависит от importlib_resources (и, возможно, также от importlib_metadata ). Если вы используете pip или edm они должны быть установлены правильно, но похоже, что вы используете conda поэтому вы должны сообщить об этом как о проблеме тому, кто предоставляет ваши сборки Pyface.

Если вы используете pip для установки Pyface (или Mayavi), сообщите об этом как о проблеме с репозиторием Pyface!

Я собираюсь закрыть это, так как это не имеет прямого отношения к Mayavi.

Ваш пакет некорректно работает с conda
Вы не должны просто закрывать проблему / смотреть на нее

Я думаю, что это не ошибка mayavi , а это упаковка pyface в conda-forge, так что это должно быть правильным вопросом, на который стоит обратить внимание:

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

Спасибо @larsoner за указание на проблему в conda-forge. Надеюсь, ваш PR скоро объединится!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги