Mayavi: Python 3.8์šฉ 'importlib_resources'๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2021๋…„ 01์›” 09์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: enthought/mayavi

Python 3.8์— conda 4.8.2 ์™€ ํ•จ๊ป˜ ์„ค์น˜ํ•˜๋ฉด ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

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 ์˜ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ conda-forge์˜ pyface ํŒจํ‚ค์ง•์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ์€ ์ฃผ๋ชฉํ•ด์•ผ ํ•  ์˜ฌ๋ฐ”๋ฅธ ๋ฌธ์ œ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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 ์˜ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ conda-forge์˜ pyface ํŒจํ‚ค์ง•์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๊ฒƒ์€ ์ฃผ๋ชฉํ•ด์•ผ ํ•  ์˜ฌ๋ฐ”๋ฅธ ๋ฌธ์ œ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

conda-forge์˜ ๋ฌธ์ œ๋ฅผ ์ง€์ ํ•ด ์ฃผ์‹  @larsoner ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. PR์ด ๊ณง ๋ณ‘ํ•ฉ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

thoth291 picture thoth291  ยท  10์ฝ”๋ฉ˜ํŠธ

GaelVaroquaux picture GaelVaroquaux  ยท  13์ฝ”๋ฉ˜ํŠธ

kitchoi picture kitchoi  ยท  10์ฝ”๋ฉ˜ํŠธ

Kekushke picture Kekushke  ยท  9์ฝ”๋ฉ˜ํŠธ

Make42 picture Make42  ยท  7์ฝ”๋ฉ˜ํŠธ