Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#62672 closed defect (fixed)

py39-spyder: Runtime error

Reported by: mf2k (Frank Schima) Owned by: reneeotten (Renee Otten)
Priority: Normal Milestone:
Component: ports Version: 2.6.99
Keywords: Cc:
Port: py-spyder

Description

$ port installed py39-spyder
The following ports are currently installed:
  py39-spyder @5.0.0_0 (active)

I get this runtime error when attempting to use it:

$ spyder 
Update LANGUAGE_CODES (inside config/base.py) if a new translation has been added to Spyder
Traceback (most recent call last):
  File "/opt/local/bin/spyder", line 33, in <module>
    sys.exit(load_entry_point('spyder==5.0.0', 'gui_scripts', 'spyder')())
  File "/opt/local/bin/spyder", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/spyder/app/start.py", line 37, in <module>
    from spyder.utils.external import lockfile
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/spyder/utils/external/lockfile.py", line 31, in <module>
    from spyder.utils.programs import is_spyder_process
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/spyder/utils/programs.py", line 29, in <module>
    import pkg_resources
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3243, in <module>
    def _initialize_master_working_set():
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3226, in _call_aside
    f(*args, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 568, in _build_master
    ws.require(__requires__)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 886, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'importlib_metadata>=3.6' distribution was not found and is required by keyring

Change History (9)

comment:1 Changed 3 years ago by mf2k (Frank Schima)

Port: py-spyder added
Version: 2.6.99

comment:2 Changed 3 years ago by reneeotten (Renee Otten)

Resolution: fixed
Status: assignedclosed

In d44e247f4dd8fee3638c391b509e85a32221687e/macports-ports (master):

py-keyring: add missing dependency

Closes: #62672

comment:3 Changed 3 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: closedreopened

I'm still seeing this even with the new dependency installed.

comment:4 Changed 3 years ago by mf2k (Frank Schima)

$ port installed | grep spyder
  py39-pyls-spyder @0.3.2_0 (active)
  py39-spyder @5.0.0_0 (active)
  py39-spyder-kernels @2.0.1_0 (active)
  spyder_select @0.1_0 (active)

comment:5 Changed 3 years ago by mf2k (Frank Schima)

$ port installed py39-keyring 
The following ports are currently installed:
  py39-keyring @23.0.1_1 (active)

comment:6 Changed 3 years ago by reneeotten (Renee Otten)

are you sure it's the same RuntimeError; the change I made should have installed py-importlib_metadata so that should be present. I do see another issue now with pkg_resources.DistributionNotFound: The 'decorator<5' distribution was not found and is required by spyder-kernels.

That's probably because the py-decorator port got update to a version 5.0.6; which py-spyder-kernels doesn't like... I will take a look at that at some point. Can you please verify whether this is the issue you have now as well or if it is still related to py-importlib_metadata?

comment:7 Changed 3 years ago by mf2k (Frank Schima)

Here is what I see when attempting to run spyder:

$ spyder 
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 568, in _build_master
    ws.require(__requires__)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 886, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 777, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (decorator 5.0.6 (/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages), Requirement.parse('decorator<5'), {'spyder-kernels'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/local/bin/spyder", line 33, in <module>
    sys.exit(load_entry_point('spyder==5.0.0', 'gui_scripts', 'spyder')())
  File "/opt/local/bin/spyder", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 790, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/spyder/app/start.py", line 37, in <module>
    from spyder.utils.external import lockfile
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/spyder/utils/external/lockfile.py", line 31, in <module>
    from spyder.utils.programs import is_spyder_process
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/spyder/utils/programs.py", line 29, in <module>
    import pkg_resources
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3243, in <module>
    def _initialize_master_working_set():
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3226, in _call_aside
    f(*args, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 570, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 583, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pkg_resources/__init__.py", line 772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'decorator<5' distribution was not found and is required by spyder-kernels

Yes, this may be a different problem. Sorry about that.

comment:8 Changed 3 years ago by reneeotten (Renee Otten)

Resolution: fixed
Status: reopenedclosed

In 27857b8233977cf8cef2d11bb184cedf866d7f61/macports-ports (master):

py-spyder-kernels: remove version cap on py-decorator

Closes: #62672

comment:9 Changed 3 years ago by reneeotten (Renee Otten)

okay, so I just patched out the version restriction for decorator. It says in upstream's commit message "decorator > 5 breaks cython magic`; don't know what that exactly means and spyder runs and works in my limited testing... It's not really feasible to keep track in MacPorts of the many (rather strict) version requirements spyder has; but I am hopeful that this will work out.

Note: See TracTickets for help on using tickets.